【问题标题】:AngularJS 1.2 ngRoute unit test errorAngularJS 1.2 ngRoute 单元测试错误
【发布时间】:2013-09-14 23:00:27
【问题描述】:

我升级到 angularjs v1.2,现在我的单元测试因 ngRoute 而失败。我遵循http://docs.angularjs.org/api/ngRoute 此处的更改并将新脚本包含在我的 index.html 文件中以及加载模块并且我的应用程序运行良好:

--index.html

<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/angular-route/angular-route.js"></script>

--app.js

var socketwizModule = angular.module('socketwizApp', ['ngRoute']);

但我的测试失败并出现以下error

我尝试了以下几件事,但似乎没有任何效果,有什么想法吗?

beforeEach(module('socketwizApp', ['ngRoute']));

beforeEach(module('ngRoute'));
beforeEach(module('socketwizApp'));

【问题讨论】:

    标签: angularjs


    【解决方案1】:

    你说你修复了你的代码,但你没有说你修复了你的测试。假设您使用 Karma 进行单元测试(就像我一样),您是否确保您的 conf.js 文件包含在此处?

    // list of files / patterns to load in the browser
    files: [
      'app/components/angular/angular.js',
      'app/components/angular-mocks/angular-mocks.js',
      'app/scripts/**/*.js',
      'test/**/*Spec.js'
    ],
    

    因为如果不是,那么它将无法用于您的单元测试,因为(同样,如果它们和我的一样)他们不使用 index.html 来获取要包含的 JavaScript 列表。

    【讨论】:

    • 谢谢约翰,我对 karma 和 jasmine 还是有点陌生​​,并没有意识到它是如何配置的。我错误地假设它使用的是 index.html。所以现在我已经将 angular-route.js 脚本添加到文件列表中,它可以按预期工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-17
    • 2014-10-05
    • 2018-12-02
    相关资源
    最近更新 更多