我在Karma测试场景中遇到依赖问题。 准备环境时看起来像这样:
beforeEach(module('printecAdminApp'));
beforeEach(inject(function(restService) {
testRestService = restService;
injector = angular.injector(['ng']);
}));
和这样的测试场景:
it('simple REST GET', function() {
injector.invoke(function($http) {
var getResult,
restOpt = testRestService.prepareRestCallObj();
//returns {method: 'GET', url : '...'}
runs(function() {
$http(restOpt).then(.....
});
waitsFor(function() {
return getResult;
}, 'get result', 50);
runs(function() {
expect(getResult).toEqual({"status" : true});
});
});
});
一切正常。但我想将restService
依赖从准备环境部分代码转移到场景,因为我想摆脱静态testRestService
变量。喜欢$ http。但如果我尝试以同样的方式做 - 用$ http
injector.invoke(function($http, restService) {
我收到此错误:错误:[$ injector:unpr]未知提供商:restServiceProvider< - restService
知道我应该怎么做?我应该在准备代码中将它分配给注射器吗?
任何答案或提示的答案