我正在嘗試爲我的項目設置單元測試環境,並遇到一些問題。我試圖用Jasmine的Testacular來測試我的AngularJS代碼。用Jasmine和Angular設置Testacular的問題
我有一個模塊Services
它有一個叫做KeepAlive的工廠方法。這是它的設置。
angular.module('services', []).factory('KeepAlive', ['$rootScope', function($rootScope){
//My Code
}]);
該模塊連接到名爲MainModule
的模塊。這是它的代碼。
angular.module('MainModule', ['filters', 'services', 'directives', 'ui'])
.config(['$httpProvider', function($httpProvider){
//My Code
}]).run(['$rootScope', '$timeout', '$routeParams', 'KeepAlive', function($rootScope, $timeout, $routeParams, KeepAlive){
//My Code
}]);
所以現在我想添加此代碼爲我的測試。所以這裏是我的渺小文件設置。
JASMINE,
JASMINE_ADAPTER,
'assets/lib/jquery/jquery-1.7.1.js',
'assets/lib/angular/angular.js',
'assets/lib/angular/angular-ui.js',
'jsTests/MockingLib/angular-mocks.js',
'assets/scripts/modules/Admin.js',
'assets/scripts/modules/MainModule.js',
'assets/scripts/services/KeepAlive.js',
'assets/scripts/services/Admin.js',
'assets/scripts/filters.js',
'assets/scripts/directives.js',
'assets/scripts/controllers/admin/*.js',
現在,這是拋出一個錯誤,在我的testacular控制檯。這是我得到的錯誤。
Error: Unknown provider: KeepAliveProvider <- KeepAlive
at Error (<anonymous>)
at d:/Work/Workspace/TalentNetwork/assets/lib/angular/angular.js:2627:8
at Object.getService [as get] (d:/Work/Workspace/TalentNetwork/assets/lib/angular/angular.js:2755:32)
at d:/Work/Workspace/TalentNetwork/assets/lib/angular/angular.js:2632:38
at getService (d:/Work/Workspace/TalentNetwork/assets/lib/angular/angular.js:2755:32)
at Object.invoke (d:/Work/Workspace/TalentNetwork/assets/lib/angular/angular.js:2773:6)
at d:/Work/Workspace/TalentNetwork/assets/lib/angular/angular.js:2637:71
at Array.forEach (native)
at forEach (d:/Work/Workspace/TalentNetwork/assets/lib/angular/angular.js:110:11)
at Object.createInjector [as injector] (d:/Work/Workspace/TalentNetwork/assets/lib/angular/angular.js:2637:3)
這是我的茉莉花測試案例。
beforeEach(function() {
admin = module("MainModule");
module("services");
});
我錯過了什麼?我是新來的單身漢。提前致謝。
確保您調用'模塊( '服務')'在您的測試中'beforeEach'塊。 – 2013-03-16 18:54:28
順便說一句,如果我從我的run方法和我的文件列表中刪除了KeepAlive,它會執行我所有的測試用例 – Abilash 2013-03-17 04:17:24
我很確定@Vojta和我是對的 - 模塊沒有被加載。你的代碼在Github上? – 2013-03-17 04:20:54