2017-02-24 52 views
10

根據this post(和一般的互聯網)如果我想運行沒有這些類型的代碼覆蓋命令的噶測試...設置調試選項

__cov_9C0014nbzu2SxN3FICah6Q.f['35']++; 
__cov_9C0014nbzu2SxN3FICah6Q.s['138']++; 

...我只是需要在終端像這樣設置--debug選項:

$ karma start karma.conf.js --browsers=Chrome --single-run=false --debug 

然而,通過咕嘟咕嘟任務運行你噶測試時,該文件似乎缺少。我正在使用下面的簡單karma.start配置對象。我已經嘗試將debug屬性設置爲true或條紋'--debug',但似乎都沒有效果(雖然測試運行/跑步者不會崩潰)。

karma.start({ 
    configFile: __dirname + '/karma.conf.js', 
    exclude: excludeFiles, 
    singleRun: !!singleRun, 
    debug: '--debug' 
}, karmaCompleted); 

任何想法如何設置從Gulp任務運行您的Karma測試時的調試選項?

回答

6

設置debug: true在選項對象中,我傳遞給karma.start的作用與在命令行中使用--debug一樣正常。換句話說,你在你的Gulpfile中所做的表示可以使debug選項成爲Karma。然而,

我只需將--debug選項,在終端像這樣

沒有設置,您鏈接到顯示你還需要自定義的配置來調整預處理器列表頁面所以當使用--debug時,該列表是空的。您遇到的問題與無法正確執行該定製一致。

這裏是如何執行定製。這從噶已經在命令行解析配置的查詢config.debug值:爲--debug

module.exports = function configure(config) { 
    config.set({ 
    // ... 
    preprocessors: { 
     "index.js": config.debug ? [] : ["coverage"], 
    }, 
    // ... 
    }); 
}; 

掃描process.argv就像你把這個想法在頁面上建議從當您從咕嘟咕嘟調用噶將無法正常工作因爲debug選項直接通過配置傳遞。檢查config.debug既可以在命令行中運行,也可以通過程序化API調用Karma。

+0

救命恩,謝謝! – NealR