2013-11-01 48 views
5

您好我正在關注angular的this教程,但通過運行以下命令test.bat。我得到這個錯誤,並不是很好,可能是由於。Angularjs - 在官方教程中運行單元測試的錯誤

「無法加載腳本,它未註冊!也許你錯過了一些插件」

我跟着這個教程的所有步驟,我想我錯過了pluggins。我在應用程序調用node_modules的根文件夾,其中是所有這些pluggins

 karma 
    karma-chrome-launcher 
    karma-coffee-preprocessor 
    karma-firefox-launcher 
    karma-html2js-preprocessor 
    karma-jasmine 
    karma-junit-reporter 
    karma-phantomjs-launcher 
    karma-RequireJS 
    karma-script-launcher 

我karma.config

module.exports = function(config){ 

config.set({ 
basePath : '../', 

files : [ 
    'app/lib/angular/angular.js', 
    'app/lib/angular/angular-*.js', 
    'test/lib/angular/angular-mocks.js', 
    'app/js/**/*.js', 
    'test/unit/**/*.js' 
], 

exclude: ['app/lib/angular/angular-scenario.js'], 

autoWatch : true, 

frameworks: ['jasmine'], 

browsers : ['C:/Program Files/Google/Chrome/Application/chrome.exe'], 

plugins : [ 
    'karma-junit-reporter', 
    'karma-chrome-launcher', 
    'karma-firefox-launcher', 
    'karma-jasmine' 
], 

junitReporter : { 
    outputFile: 'test_out/unit.xml', 
    suite: 'unit' 
} 

})}

任何人都可以幫我嗎?

感謝

回答

6

您需要缺少的插件添加到善緣配置插件部分:

plugins : [ 
    'karma-junit-reporter', 
    'karma-chrome-launcher', 
    'karma-firefox-launcher', 
    'karma-jasmine' 
], 

或者乾脆刪除這個插件部分和業力將加載它找到的所有插件。 (這是確定要做到這一點,如果你沒有太多的插件)

編輯:

就克隆安裝測試項目。這裏是安裝的依賴關係:

karma      
karma-html2js-preprocessor 
karma-phantomjs-launcher 
karma-chrome-launcher  
karma-jasmine    
karma-requirejs 
karma-coffee-preprocessor 
karma-junit-reporter   
karma-script-launcher 
karma-firefox-launcher  
karma-ng-scenario   
phantomjs 

它在我看來你沒有安裝phantomjs。

+0

謝謝貝基特,我的卡瑪插件安裝在C:\ Users \ XXX \ AppData \ Roaming \ npm \ node_modules中是否正確?我用這個命令npm install -g karma安裝karma。我不運行它! – Kaken

+0

在您的angular-phonecat文件夾內有一個node_modules文件夾。你不需要運行karma命令。 test.bat腳本爲你做這件事。 – bekite

+0

我沒有node_modules文件夾。業力不找到插件。如果我刪除配置文件的插件部分,並運行,啓動chrome的3個實例,但不要運行單元測試 – Kaken