我有一個角度,我想測試我的控制器和服務與業力和茉莉花。我寫了一些測試,他們工作。然後我對我的角度項目做了一些大的改動。 現在我的測試都失敗了,我找不出原因。我在我的測試中評論了所有內容,只是想檢查是否加載了$controller
服務。但即使這樣也行不通。當我嘗試注入服務時角度單元測試失敗
我的模塊定義:
angular.module('cManagement', [
'angular-multi-select',
'ngCookies',
'ui.router',
'ui.bootstrap',
'pascalprecht.translate',
'ngIdle'
])
這裏是我的測試:
use strict';
describe("cManagement", function() {
beforeEach(module('cManagement'));
it('should exist', inject(function($controller){
}));
});
我噶配置:
module.exports = function(config){
config.set({
basePath : '',
reporters: ['progress', 'junit'],
files : [
'node_modules/angular/angular.js',
'node_modules/angular-cookies/angular-cookies.js',
'node_modules/angular-multi-select/dist/angular-multi-select.js',
'node_modules/angular-ui-router/release/angular-ui-router.js',
'node_modules/angular-ui-bootstrap/dist/ui-bootstrap.js',
'node_modules/angular-translate/dist/angular-translate.js',
'node_modules/angular-mocks/angular-mocks.js',
'assets/plugins/angular-idle/angular-idle.js',
'app/app.module.js',
'app/components/login/*',
'app/**/*'
],
singleRun : true,
frameworks: ['jasmine'],
browsers : ['PhantomJS'],
plugins : [
'karma-jasmine',
'karma-junit-reporter',
'karma-phantomjs-launcher'
],
junitReporter : {
outputDir: 'test_out',
userBrowserName: false
}
});
};
以下是錯誤我得到:
INFO [人緣]:噶v0.12.37服務器開始在 http://localhost:9876/ INFO [啓動]:啓動瀏覽器PhantomJS INFO [PhantomJS 2.1.1(Linux的0.0.0)]:連接在插座7iIMKn57rTEEJqjikf2o ID爲71013283個 PhantomJS 2.1。 1(Linux 0.0.0)c管理應存在失敗 /home/chris/IdeaProjects/campaignManagement/node_modules/angular/angular.js:4527:53 forEach @/home/chris/IdeaProjects/campaignManagement/node_modules/angular/angular。 js:321:24 [email protected]/home/chris/IdeaProjects/campaignManagement/node_modules/angular/angular.js:4487:12 [email protected]/home/chris/IdeaProjects/campaignManagement/node_modules/angular/angular.js:4409: 30 workFn @/home/chris/IdeaPro jects/campaignManagement/node_modules /角嘲笑/角mocks.js:2799:60個 PhantomJS 2.1.1(Linux的0.0.0):執行的2的2(1 FAILED)(0.006秒/ 0.007秒)
每一個提示是讚賞。
你可以嘗試'inject'在單獨'beforeEach'塊?'beforeEach(inject(function($ controller){}));' – gmuraleekrishna
也許只是一個打字錯誤,但是「嚴格使用」;「應該是「嚴格使用」。 – henrikmerlander
而你在'use strict'附近有一個額外的勾號。 – gmuraleekrishna