0
我想用Jasmine寫一個簡單的測試。測試檢查$scope.testFlag
是否設置爲false。爲什麼簡單的基於JasmineJS和AngularJS的單元測試不起作用
這裏是我的測試代碼
describe('Abc Controller', function() {
var $scope = null;
var ctrl = null;
//you need to indicate your module in a test
beforeEach(module('myApp'));
beforeEach(inject(function($rootScope, $controller) {
$scope = $rootScope.$new();
ctrl = $controller('abcController', {
$scope: $scope
});
}));
// test 1
it('testFlag should be set to False', function() {
expect($scope.testFlag).toEqual(false);
});
});
但由於某些原因,我得到這個錯誤:
Error: Unknown provider: ConfigProvider <- Config <- collectionMetaFactory
,這裏是我的應用程序的app.js的樣子,我感到其中包括testRunner.html
var app = angular.module('myApp')
app.constant('Config',
{
baseURL : serviceURL,
httpTimeout : 3600000 // 1 minute
});
app.config(function($logProvider) {
$logProvider.debugEnabled(true);
});
我錯過了什麼?
這裏是控制器的片段
app.controller('abcController', function ($scope, $log,abcFactory, Config) {
$scope.testFlag = false;
// more code follows
});
讓我知道如果你需要看到更多的應用程序的代碼(如工廠,服務和控制器)
你可以發佈控制器嗎? – JasonM
@JasonM,我剛剛發佈了Controller的代碼片段。如果您需要查看更多代碼,請告知我們。 – Watt
這是有點超出我的深度,但是你是否在'abcController'中注入常量'Config'?或者你需要?另外,如果你只是運行這個代碼,它會給你相同的結果,還是直接與茉莉花相關? – JasonM