关于测试指令的Vojta project中这段代码的作用是什么?
// load the tabs code
beforeEach(module('tabs'));
它说它加载标签代码,但为什么?接下来是不是已经定义了标签模块?
var tabs = angular.module('tabs', []);
有人可以在角度测试中给出了应该加载的原因和方法吗?
我试图在我的测试中调用此函数,比如
beforeEach(module('utils')) ;
我收到此错误:
TypeError: Property 'module' of object [object Object] is not a function
此外,当我尝试加载我的模板
时beforeEach(module('templates/loadingBar.html'));
我收到此错误:
Error: No module: templates/loadingBar.html
我对整个过程感到很困惑。
感谢您的帮助...
答案 0 :(得分:10)
您列出的代码
var tabs = angular.module('tabs', []);
创建 tabs
模块,但是为了加载它,您可能会在DOM中的元素上放置ng-app="tabs"
之类的内容。这指示Angular 加载 tabs
模块,并使其定义可用于应用程序用来解析依赖关系的injector。 (有关详细信息,请参阅Bootstrap guide。)
在您的测试中,没有ng-app
指令来初始化注入器或加载模块; module
函数(exists on angular.mock
from the angular-mocks.js
file)在测试中为您执行此操作。如果您使用Karma Jasmine或Mocha适配器进行测试,则可以使用module
,否则您可能需要拨打angular.mock.module
。