在jasmine中进行单元测试时出现未知提供程序错误

时间:2016-06-14 06:21:43

标签: jasmine karma-jasmine grunt-contrib-jasmine

我在js文件中有一个模块如下

app.js

 angular.module( 'app', [ 'ui.bootstrap', 'routes', 'module2', 'ngAnimate', 'ngSanitize' ] );

如果我要编写单元测试用例,那么我应该如何在单元测试用例中加载模块?

是这样吗

module('app');

其他方式

module('ui.bootstrap');
module('routes');
module('module2');
module('ngAnimate');
module('ngSanitize');

哪个是正确的顺序或加载模块的正确方法...因为我总是得到以下错误

Error: [$injector:unpr] Unknown provider: deepakProvider <- deepak
 http://errors.angularjs.org/1.4.9/$injector/unpr?p0=deepakProvider%20%3C-%20deepak
     at C:/jasmine/InformedEnrollment2/src/webapp/informedenrollment2/webclnt/components/angular/angular.js:68:12
     at C:/jasmine/project/src/webapp/project/webclnt/components/angular/angular.js:4346:19
     at Object.getService [as get] (C:/jasmine/project/src/webapp/project/webclnt/components/angular/angular.js:4494:39)
     at C:/jasmine/project/src/webapp/project/webclnt/components/angular/angular.js:4351:45
     at Object.getService [as get] (C:/jasmine/project/src/webapp/project/webclnt/components/angular/angular.js:4494:39)
     at Object.<anonymous> (C:/jasmine/project/tests/DemoToTheTeam.js:20:47)
     at Object.invoke (C:/jasmine/project/src/webapp/project/webclnt/components/angular/angular.js:4535:17)
     at Object.workFn (C:/jasmine/project/node_modules/angular-mocks/angular-mocks.js:3071:20)
 Error: Declaration Location
     at window.inject.angular.mock.inject (C:/jasmine/project/node_modules/angular-mocks/angular-mocks.js:3033:25)
     at Suite.<anonymous> (C:/jasmine/project/tests/DemoToTheTeam.js:19:15)
     at C:/jasmine/project/tests/DemoToTheTeam.js:2:1
 TypeError: Cannot read property 'multiply' of undefined
     at Object.<anonymous> (C:/jasmine/project/tests/DemoToTheTeam.js:26:13)
50.0.2661 (Windows 7 0.0.0): Executed 7 of 7 (1 FAILED) (0.182 secs / 0.064 secs)

0 个答案:

没有答案