だから、私はこれを探していましたが、ここで「類似した」答えを見つけましたが、正確には私が望んでいるものではありません。
今、カルマで単一のファイルをテストしたい場合、問題のファイルでfit()
、fdescribe()
を実行する必要があります...
しかし、私がしたいのは、設定ファイルでkarmaを呼び出して特定のファイルに転送できるようにすることです。したがって、ファイルを変更する必要はまったくありません。
karma run --conf karma.conf.js --file /path/to/specific/test_file.js
これを行うことは可能ですか?またはヘルパーと一緒に? (うなり声か一気飲みですか?)
まず、karmaサーバーを起動する必要があります
karma start
次に、grepを使用して特定のテストをフィルタリングしたり、ブロックを記述したりできます。
karma run -- --grep=testDescriptionFilter
--files
はサポートされなくなりましたが、env変数を使用してファイルのリストを提供できます。
// karma.conf.js
function getSpecs(specList) {
if (specList) {
return specList.split(',')
} else {
return ['**/*_spec.js'] // whatever your default glob is
}
}
module.exports = function(config) {
config.set({
//...
files: ['app.js'].concat(getSpecs(process.env.KARMA_SPECS))
});
});
次に、CLIで:
$ env KARMA_SPECS="spec1.js,spec2.js" karma start karma.conf.js --single-run
https://github.com/karma-runner/karma/issues/1731#issuecomment-174227054 を参照してください
ファイルの配列は、CLIを使用して次のように再定義できます。
karma start --files=Array("test/Spec/services/myServiceSpec.js")
またはエスケープ:
karma start --files=Array\(\"test/Spec/services/myServiceSpec.js\"\)
参考文献