Grunt を使い始めてとても楽しかったのですが、最善の行動方針がわからない状況に遭遇しました。
tl;dr
タスクを中止せずにうなり声を出すことはできますか? grunt --force はそれを行いますが、強制オプションをすべてのタスクに適用します。
問題: (grunt-contrib-jasmine からの) jasmine を含むタスクの実行時に、少なくとも 1 つの単体テストを含む仕様が見つからない場合 (つまり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) プラグインを fork し、jasmine タスクだけにオプション 'force' を追加して続行することもできますが、それでもコンソールに警告が記録されます。
オプション 4) Grunt は、jasmine を実行する前に空のダミー仕様が見つからない場合、空のダミー仕様を作成します。これは私には少し不格好に思えます。
私がまだ考えていないより良い解決策があるかもしれません。
前もって感謝します。