2014-02-27 56 views
2

我對測試非常陌生,但認爲用這個項目開始一些測試是個好主意。當我運行grunt karma:watch時,出現此配置文件的錯誤。

我有一個包含一個配置文件:

module.exports = function(config) { 
config.set({ 

basePath: '../..', 
// testing framework to use (jasmine/mocha/qunit/...) 
frameworks: ['jasmine'], 

// list of files/patterns to load in the browser 
files: [ 
'src/js/vendors/angular.js', 
'src/js/vendors/angular-mock.js', 
'src/js/app/navigation/*js', 
'src/**/*.js', 
'src/js/vendors/*.js', 
'src/test/unit/**/*.spec.js', 
'dist/templates/**/*.js' 
], 

// list of files/patterns to exclude 
exclude: [], 

// web server port 
port: 8080, 

// level of logging 
// possible values: LOG_DISABLE || LOG_ERROR || LOG_WARN || LOG_INFO || LOG_DEBUG 
logLevel: config.LOG_INFO, 


// enable/disable watching file and executing tests whenever any file changes 
autoWatch: false, 

// Start these browsers, currently available: 
// - Chrome 
// - ChromeCanary 
// - Firefox 
// - Opera 
// - Safari (only Mac) 
// - PhantomJS 
// - IE (only Windows) 
browsers: ['Chrome'], 


// Continuous Integration mode 
// if true, it capture browsers, run tests and exit 
singleRun: false 
}); 
}; 

而且我的單元測試是這樣的:

describe('NavCtrl', function(){ 
    var scope; 
    beforeEach(angular.mock.module('integra')); 
    beforeEach(angular.mock.inject(function($rootScope,$controller){ 
    scope = $rootScope.$new(); 

    $controller('NavCtrl', {$scope: scope}); 
    })); 
    $scope.type = { 
    language: "English", 
    i18n: "en_EN" 
    }; 

    $scope.option(type); 
    expect($scope.type.i18n).toEqual('en_EN'); 
}) 

這是錯誤:

Chrome 33.0.1750 (Linux) ERROR 
Uncaught ReferenceError: $controller is not defined 
at ~/Project/theApp/src/test/unit/app/navigation/NavCtrl.spec.js:2 

爲什麼不是$控制器定義?我應該在哪裏定義它?我想測試的控制器位於/src/js/navigation/NavCtrl.js中

+1

你有''的src/JS /應用/導航/ * js''。我認爲它應該是'src/js/app/navigation/*。js''。一個錯字? – kubuntu

+1

我愛stackoverflow。 – petur

回答

2

配置文件中控制器文件路徑出錯。

使用

files: [ 
    ..., 
    'src/js/app/navigation/*js', 
    ... 
], 

而不是

files: [ 
    ..., 
    'src/js/app/navigation/*.js', 
    ... 
], 
相關問題