angularjs - Jasmine 提示 Angular 模块中不需要它们的依赖关系

标签 angularjs dependencies jasmine

我总是放弃测试,因为我发现它比实际编写运行良好的代码要多得多,但我正在做一个我希望开源的项目,所以这次我致力于编写测试。

我有这个有 Angular 的应用程序,当我定义它时,我包含了依赖项

var app = angular.module('app', [
  'ngResource',
  'ngSanitize',
  'ngRoute',
  'ui.ace'
]);

当我尝试测试 Controller 时,我从

开始
 beforeEach(angular.mock.module('app'));

  beforeEach(angular.mock.inject(function($rootScope,$controller){
    scope = $rootScope.$new();
    $controller('FileSystemCtrl',{$scope:scope});
  })
  );

当我运行 jasmine 时,我得到

Failed to instantiate module app due to:
Failed to instantiate module ui.ace due to:
Module 'ui.ace' is not available!

我不想每次在测试中模拟或实例化“app”时都必须列出所有依赖项,因为这意味着当我添加新的依赖项时,我必须返回并更改所有已经存在的测试。

这对我来说似乎效率很低。 有人可以解释为什么我会收到此错误,以及如何解决它吗?

最佳答案

如果您不使用诸如 Karma 之类的测试运行器,我强烈建议您使用它。 Here's the link . karma 允许您做的是在一个主配置文件中定义所有需要的文件,这样您就可以在一个中央位置维护它。另外还有一个用于 karma 的 jasmine 插件。

关于angularjs - Jasmine 提示 Angular 模块中不需要它们的依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20793567/

相关文章:

javascript - 将表单从 Angular JS 发送到 Spring

python - 在python2.6上有条件地安装importlib

java - mvn依赖:tree prompt invalid JAVA_HOME directory error

angular - 如何解决 Angular 单元测试错误 : "An error was thrown in afterAll\n[object ErrorEvent] thrown"

Angularjs + UnitTest BeforeEach 注入(inject)不执行

php - 数据库文本无法解析为 JSON

jquery - Canvas 对象在 Angular JS/iONIC 中显示未定义的 getContext() 方法?

javascript - 如何在 AngularJS 中的 $timeout 完成之前显示缓存的数据?

dependencies - SCons 依赖于编译时生成的文件

javascript - Jasmine spy 功能在回调中不起作用