javascript - test - npm mocha




由於“沒有捕獲的瀏覽器”消息,Karma沒有運行單元測試 (7)

我正在嘗試使用Jasmine設置Karma來運行AngularJS單元測試,但我無法運行測試。 我確定我忽視了一些簡單的事情。 我在安裝了Node.js並通過npm安裝karma的Windows 7機器上npm

我的目錄結構如下所示:

  • js / app / - 包含控制器,應用程序等
  • js / config / - 包含karma.conf.js
  • js / lib / - 包含angular
  • js / test / - 包含茉莉花規格

我正在js目錄中啟動命令提示符並運行此命令:

karma start config/karma.conf.js

這導致Chrome在端口9876上運行,但每當我更改任何監視文件並檢查Karma輸出時,我都會看到以下信息消息:

No captured browser, open http://localhost:9876/

這是我的配置文件:

module.exports = function(config) {
  config.set({
    basePath: '../',
    frameworks: ['jasmine'],
    files: [
      'lib/angular.js',
      'app/**/*.js',
      'test/**/*.js'
    ],
    exclude: [
    ],
    reporters: ['progress'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ['Chrome'],
    captureTimeout: 60000,
    singleRun: false
  });
};

我正在使用Angular 1.2.10和Karma 0.10.9


不過,我在不同的設置(Linux,QUnit,Firefox)中遇到了同樣的問題。 在我殺死所有業力過程並karma start新的karma start之後,問題就消失了。


安裝karma-cli npm install -g karma-cli為我解決了這個問題。 希望這可以幫助。


我有同樣的問題,沒有代碼更改,只是重新運行一個月前工作的測試。

當我從webstorm運行時,似乎需要很長時間來捕獲瀏覽器,所以我想知道它是否超時。

所以我嘗試將瀏覽器設置為Chrome (我也使用了phantomjs ),然後等待。 然後重置​​回ChromePhantomJS ,現在沒關係。



我遇到了同樣的問題,我通過從任務管理器中刪除所有chrome實例來解決它。 似乎有'n'個測試跑步者正在運行。 當您在不停止服務器的情況下關閉業力測試運行器時,它的實例仍處於活動狀態。

所以按'alt + ctrl + delete',殺死chrome的所有會話/實例並重啟Karma。

有用!


最近有同樣的錯誤:

  • 一個使用angular-cli的項目,
  • 在無頭環境中在Jenkins上運行的測試。

事實證明我之前已經在測試運行的步驟中取消了Jenkins的工作,因此ng test沒有退出(有少量運行的ng進程,與[node] <defunct>的進程配對,阻止了進一步的測試執行)。 解決方案是查找並終止所有掛起的進程:

$ sudo -su jenkins
# ps aux | grep "ng$" | awk '{print $2}' | xargs kill -9

當我的代碼中有無限循環時,這發生在我身上。 評論(使用茉莉花中的xdescribe )我寫的最新代碼再次運行測試。







karma-runner