我一直在Grunt開始很有趣,但遇到了一種情況,我不知道最佳的行動方案是。Grunt-contrib-jasmine在沒有spec文件或spec文件爲空時中止任務
TL;博士
能咕嚕拋出一個警告,而不終止的任務? grunt --force會做到這一點,但是它將force選項應用於所有任務。
問題:上運行,其包括茉莉(從咕嚕-的contrib-茉莉)的任務時,如果它不能找到一個規範與在它的至少一個單元測試(即it("does stuff, function() {});
),那麼它會引發警告,因此中止整個任務。
代碼
下面是我用建立我的網站任務:
grunt.registerTask('build', ['clean', 'sass', 'images', 'favicons', 'lint', 'minify', 'jasmine', 'hashify']);
,這裏是茉莉任務配置:
jasmine: {
testdev: {
src: folders.js.src + '/**/*.js',
options: {
'specs': folders.spec.src + '/*Spec.js',
'helpers': folders.spec.src + '/*Helper.js'
}
},
//etc etc, more targets for minified code testing and istanbul coverage
}
是否有任何這些明智的解決方案?
選項1)我可以使用grunt --force但不願意,因爲它會影響其他進程,我可能會真正地使任務失敗。
選項2)警告但不要失敗。 Grunt有沒有中止任務的STDOUT警告?
選項3)我可以派生插件,並添加選項'強制'只是茉莉花任務,所以它繼續,但仍將其警告記錄到控制檯。
選項4)如果在運行茉莉花之前未找到一個,則Grunt會創建一個空虛擬規格。這對我來說似乎有點笨拙。
可能有一個更好的解決方案,我還沒有想到。
在此先感謝。