我知道噶有一個內置的autoWatch
選項,將導致重新運行我的測試時,測試文件的更改:手動觸發噶重新運行測試
var server = new karmaServer({
autoWatch: true,
autoWatchBatchDelay: 250,
});
server.start();
有手動觸發這種重新運行方式?我想對我的測試重新運行時有更多的控制權。
我知道噶有一個內置的autoWatch
選項,將導致重新運行我的測試時,測試文件的更改:手動觸發噶重新運行測試
var server = new karmaServer({
autoWatch: true,
autoWatchBatchDelay: 250,
});
server.start();
有手動觸發這種重新運行方式?我想對我的測試重新運行時有更多的控制權。
我學到了一些關於因果報應,發現karma.runner.run()
,這將觸發一個已經運行的服務器(例如,您在不同的命令窗口中啓動噶服務器)重新運行它的測試。在我一飲而盡的任務,我現在做這樣的事情:
gulp.task('run-tests', function() {
gulp.watch('/glob/to/my/files').on('change', function() {
karma.runner.run({ configFile: 'karma.conf.js' });
});
});
請注意,如果您運行的是催生了您的噶服務器相同的過程這個任務,你會看到,因爲在服務器和亞軍重複的測試結果將他們的結果報告給命令行。要僅顯示一組測試結果,您可以使用something like this在後臺進程中啓動Karma服務器。
如果你需要用一口手工運行它,只要從中任務(我假設你要重新運行server.start):
var server = new karmaServer({
autoWatch: true,
autoWatchBatchDelay: 250,
});
gulp.task('runTests', function() {
server.start();
});
然後每當你需要運行測試,請在命令行:
gulp runTests
我認爲這將重新啓動Karma服務器或導致第二個Karma服務器運行。我正在尋找讓現有的Karma服務器重新加載其源文件並重新運行測試的方式 - 類似「autoWatch:true」的做法 - 只能手動執行。 –
Karma中是否有任何命令只啓動測試? – Prototype