Webpackを使用してカルマセットアップを行っています。テストファイルまたはその依存ファイルのいずれかを変更するたびに、すべてののテストが実行されます。これはすべて良いですが、私は実際にそれが最小限の数のテストだけを実行したいと思います。テストファイルを変更すると、そのテストファイルのみが実行されます。私がソースファイルを変更した場合は、そのソースファイルを依存ファイルとして持つテストファイル(require
経由)を実行する必要があります。Karma with Webpackを使用して変更されたテストファイルを1つだけ実行する
ここに私のkarma.config.js
の関連部分です:
files: [
{
pattern: '**/*.test.js',
watched: true,
included: true,
served: true
},
],
preprocessors: {
'**/*.test.js': ['webpack']
},
webpack: {
resolve: {
root: path.join(__dirname, '..', 'webpack'),
extensions: ['', '.js', '.jsx'],
},
module: {
loaders: [
{
test: /.jsx?$/,
loader: 'babel-loader',
exclude: [/node_modules/],
query: {
presets: ['es2015', 'react']
}
},
]
},
},
完全karma.config.js
ファイルがin a gistですが。
私はother questionsに記載されている解決策に慣れていて、process.env.npm_config_single_file
が含まれていますが、それは私がやろうとしていることではありません。
上記の私の設定に基づいて、各ファイルを個別のWebpackとして扱うことを期待しています。 webpack/karma-webpackのドキュメントにも暗示されています。その代わり、私が得るように見えることは、ログごとに、2つのチャンクを持つ単一のWebPACKです:
Asset Size Chunks Chunk Names
employee_list_entry.test.js 1.07 MB 0 [emitted] employee_list_entry.test.js
employer_list_entry.test.js 1.07 MB 1 [emitted] employer_list_entry.test.js
chunk {0} employee_list_entry.test.js (employee_list_entry.test.js) 1.01 MB
私は唯一のテストファイルを保存する場合でも、それは常に両方のチャンクを再構築します。
ここにオープンな問題があります:https://github.com/karma-runner/karma/issues/1507 1つのファイルが変更されたときにすべてのテストを実行することは、カルマがどのように動作するかということに驚きました。私はちょうど奇妙な設定の問題があった最長の時間のために考えた。 Go figure! –