2014-01-21 47 views
2

我一直在嘗試運行一些有業障的測試,但一直未能得到它的工作。試圖讓它與我的應用程序一起工作後,我試着用最簡單的可能測試來運行它,但它仍然沒有完成。Karma沒有完成的測試

這裏是我的karma.conf.js文件:

// Karma configuration 
// http://karma-runner.github.io/0.10/config/configuration-file.html 

module.exports = function(config) { 
    config.set({ 
    // base path, that will be used to resolve files and exclude 
    basePath: '', 

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

    // list of files/patterns to load in the browser 
    files: [ 
     // 'app/bower_components/angular/angular.js', 
     // // 'app/bower_components/angular/angular-mocks.js', 
     // 'app/scripts/*.js', 
     // 'app/scripts/controllers/main.js', 
     // // 'test/mock/**/*.js', 
     // 'test/spec/**/*.js', 
     // // 'app/scripts/**/*.js,' 
     'testing.js' 
    ], 

    // list of files/patterns to exclude 
    exclude: ['angular-scenario.js'], 

    // 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 
    }); 
}; 

這裏是testing.js文件:

describe("hello", function(){ 
    it("Should fail automatically", function(){ 
     expect(false).toBe(true) 
    }); 
}); 

結果我得到的沒有失敗是:

$ karma start karma.conf.js 
INFO [karma]: Karma v0.10.9 server started at http://localhost:8080/ 
INFO [launcher]: Starting browser Chrome 
INFO [Chrome 30.0.1599 (Mac OS X 10.7.5)]: Connected on socket dGANukHhgkPC3YyhyUrU 
INFO [Chrome 30.0.1599 (Mac OS X 10.7.5)]: Connected on socket HC8iGMv-VmeYX2UAyUrV 

它似乎永遠不會繼續,告訴我有多少測試成功與否。

感謝您的幫助。希望我會在這個結尾留下一些頭髮,哈哈。

+0

如果這是所有的你得到的輸出,看起來像Chrome沒有執行任何測試。我面臨類似的問題,但我忘了我是如何解決它的。嘗試使用其他瀏覽器?你可能想試試PhantomJS並看看你得到了什麼 – yanhan

回答

3

這是預期的行爲。

single_run : true表示運行一次測試並退出

single_run : false意味着不退出(這並不明顯)。

autowatch : true表示在文件更改時觸發運行測試。

如果你有autowatchsingle_run設置爲false(像你這樣做),然後運行

karma start

只會有因緣初始化,等待的東西來觸發它運行。

爲了觸發運行,你需要打開一個新的控制檯,並做

karma run

(或設置上述標誌爲「真」之一)的測試

+0

這也適用於我。謝謝! – vichsu

相關問題