我正在尝试使用Webpack的require.context
将所有应该被我的Istanbul报告工具覆盖的文件包含进来。
我希望包含/需要所有app
文件夹下没有.test.js
扩展名的文件。
// internals/testing/test-bundler.js
const context = require.context('../../app', true, /^.*(?!(\.test|internals.*))\.js$/);
context.keys().forEach(context);
我的文件结构是:
app/components/
app/containers/
app/decorators/
app/orm/
app/pages/
app/store/
app/tests/
app/utils/
app/app.js
app/reducers.js
app/routes.js
internals/testing/test-bundler.js
很明显我的正则表达式不起作用了,因为在覆盖率报告中我看到所有的.test.js文件甚至是internals/testing/test-bundler.js文件。我做错了什么?
app/app.js
? - Veverkeinternals/*
。并且它们在第一个斜杠后面不会有test
。因此,在这种意义上,test/internals.js
仍然可以通过。但是这在正则表达式中很容易更改。 - LukStorms