我的一个单元测试遇到了一些问题。我试图测试一个指令,我试图获得对$ compile提供程序的引用进入单元测试。我正在使用grunt和一个名为grunt-contrib-testem的特定包来执行所有单元测试。
这是这种插件(coffescript)
的配置片段testem:
unit:
src: [
"angular.js"
"angular-mocks.js"
"app.js"
"directive.js"
"spec.js"
]
options:
launch_in_dev: ["PhantomJS"]
debug: true
以及测试用例的片段:
beforeEach(module("myapp"));
beforeEach(inject(function($injector){
rootScope = $injector.get("$rootScope");
compile = $injector.get("$compile"); //<-here is the problem
}));
我看到的错误信息如下:
[$injector:unpr] Unknown provider: $windowsProvider <- $windows <- $http <- $compile
非常感谢。
答案 0 :(得分:0)
尝试以这种方式注射它们
beforeEach(inject(function(_$compile_, _$rootScope_) {
$compile = _$compile_;
$rootScope = _$rootScope_;
}