当我运行代码覆盖率时,包含jest config的根目录中的代码可以正常工作,但是对于根目录之外的代码,测试用例通过了,但是在覆盖率报告中,它显示了根目录之外的所有测试文件的百分比为零。 / p>
jest.config.js 文件位于Explorebook文件夹中。
|---core
| |--components
| |--test
| |--jest.setup.suites.js
|---explorebook
| |--components
| | |--test
| |--package.json
| |--jest.config.js
| |--jest.setup.suites.js
|---framework
| |--commons
| |--test
| |--jest.setup.suites.js
|
jest.config.js
const TEST_FILES_REGEX = '(/test/.*|(\\.|/)(test|spec))\\.js$';
module.exports = {
verbose: false,
roots: [
'<rootDir>/',
'<rootDir>/../core/',
'<rootDir>/../framework/commons/'
],
collectCoverage: true,
collectCoverageFrom: [
'components/**/*.js',
'<rootDir>/../core/components/**/*.js'
'<rootDir>/../framework/commons/*.js'
],
coverageDirectory: 'reports/coverage',
coverageReporters: [
'lcov',
'text'
],
setupFiles: [ '<rootDir>/jest.setup.suites.js',
'<rootDir>/../core/jest.setup.suites.js',
'<rootDir>/../framework/jest.setup.suites.js' ],
setupTestFrameworkScriptFile: path.join(__dirname, 'jest.setup.tests.js'),
testEnvironment: 'jsdom',
testRegex: TEST_FILES_REGEX
};
即使rootDir之外的所有对象都通过了,报告也不会显示出来。
我希望报告中外部文件的coverage值也正确。
答案 0 :(得分:1)
Jest仅会对项目let editorModel = editor.model;
let editorDocument = editorModel.document;
editorDocument.on('change:data', (event) => {
let root = editorDocument.getRoot();
let children = root.getChildren();
for(let child of children){
if(child.is('image')) {
editorModel.change(writer => {
writer.remove(child);
});
}
}
});
(source)中的个文件进行代码覆盖。在您的设置中,这将是rootDir
文件夹。
要还对与包含explorebook
的文件夹不同的文件夹中的文件运行覆盖率,建议将jest.config.js
(source)设置为项目的根文件夹,并更新所有必要的路径:
jest.config.js
[rootDir]