jasmine html没有't在浏览器中运行,但在控制台中工作

jasmine-html doesn't run in browser, but works in console

本文关键字:运行 控制台 工作 html 浏览器 jasmine 没有      更新时间:2023-09-26

我用yeoman建立了一个Angularjs项目,除了单元测试部分,一切都很好。测试工作在控制台模式下(当我在cmd中使用grunt servegrunt test时),但当我尝试运行runner.html文件在浏览器上查看时,它没有测试任何规范。我的package.json依赖项如下:

"devDependencies": {
    "grunt": "~0.4.5",
    ....
    "karma-ng-scenario": "^0.1.0",
    "grunt-karma": "^0.8.3",
    "karma": "^0.12.23",
    "karma-ng-html2js-preprocessor": "^0.1.0",
    "karma-jasmine": "^0.2.2",
    "karma-firefox-launcher": "^0.1.3",
    "karma-chrome-launcher": "^0.1.4",
    "grunt-ng-annotate": "^0.3.2",
    "grunt-angular-templates": "^0.5.7"
}

在我的runner.html中是这样的

<!doctype html>
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Jasmine Spec Runner v2.0.3</title>
    <link rel="shortcut icon" type="image/png" href="lib-jasmine-2.0.3/jasmine_favicon.png">
    <link rel="stylesheet" type="text/css" href="lib-jasmine-2.0.3/jasmine.css">
    <script type="text/javascript" src="lib-jasmine-2.0.3/jasmine.js"></script>
    <script type="text/javascript" src="lib-jasmine-2.0.3/jasmine-html.js"></script>
    <script type="text/javascript" src="lib-jasmine-2.0.3/boot.js"></script>

    <!-- include source files here... -->
    <!-- my angular and other libs scripts here -->

    <!-- include spec files here... -->
    <script src="mock/stateMock.js"></script>
    <script src="spec/unit/controllers/main.js"></script>
    <script src="spec/unit/services/survey.js"></script>
</head>
<body>
</body>
</html>

我应该怎么做才能让它像在控制台中一样运行?提前感谢

假设您对规范的引用是正确的(它们位于你的runner.html之下。这可能只是你需要包括你的源文件和特定于供应商的文件。这是你上面和我上面的文件之间的唯一区别。不过,我用规范运行程序没有解决的一个问题是使用templateUrl的指令。这在karma-ng-html2js-preprocessor插件的因果报应中得到了解决,但当你使用茉莉花赛跑选手。这是我的一个缩写版本,供参考。仅供参考,我更改了我的yeoman生成器,在添加文件时也对该文件运行wiredep,以便自动添加所有文件。省去了很多头疼的事。

<html>
<head>
  <meta charset="utf-8">
  <title>Jasmine Spec Runner</title>
  <link rel="stylesheet" type="text/css" href="bower_components/jasmine/lib/jasmine-core/jasmine.css">
</head>
<body>
    <script src="bower_components/jasmine/lib/jasmine-core/jasmine.js"></script>
    <script src="bower_components/jasmine/lib/jasmine-core/jasmine-html.js"></script>
    <script src="bower_components/jasmine/lib/jasmine-core/json2.js"></script>
    <script src="bower_components/jasmine/lib/jasmine-core/boot.js"></script>
    <!-- bower:js -->
    <script src="bower_components/angular/angular.js"></script>
    ... all other bower components
    <!-- endbower -->
    <!-- devDependencies -->
    <script src="bower_components/angular-mocks/angular-mocks.js"></script>
    <!-- enddevDependencies -->
    <!-- build:js({.tmp,app}) scripts/scripts.js -->
    <script src="app/scripts/app.js"></script>
    ..all other source files
    <!-- endbuild -->
    <!-- specs -->
    <script src="test/spec/controllers/myspec.js"></script>
    <!-- endspecs -->
</body>