我有一个带有jest的打字脚本monorepo。他们的jest.config.js是
module.exports = {
clearMocks: true,
projects: ['<rootDir>/packages/**/jest.config.js'],
collectCoverage: true,
coverageReporters: [
"text-summary",
"lcov",
],
preset: 'ts-jest',
testEnvironment: 'node',
testMatch: ['*.spec.ts', '*.spec.tsx']
}在我创建jest.config.js的server包中
const { name } = require('./package.json');
module.exports = {
displayName: name,
name,
'transform': {
'^.+\\.ts$': 'ts-jest'
},
collectCoverageFrom: [
'<rootDir>/src/**/*.ts'
],
coverageDirectory: '<rootDir>/packages/server/src/tests/coverage',
}但是当我运行jest时,它会在monorepo的根目录下创建coverage目录。
我只是尝试使用coverageDirectory: '<rootDir>/src/tests/coverage',、coverageDirectory: 'src/tests/coverage',和coverageDirectory: [__dirname, 'src', 'tests', 'coverage'].join('/'),,但没有成功。
我可以更改覆盖目录路径的唯一方法是在monorepo的jest.config.js中指定它,但是这样我就不能为每个项目指定覆盖目录。
有人知道如何在monorepo中为每个项目指定不同的覆盖目录?
发布于 2020-11-11 01:13:02
如果您为每个产品单独运行jest,则只能为每个项目指定不同的覆盖目录。如果您使用的是全局配置(monorepo根目录下的jest.config.js ),那么相同的覆盖率设置将应用于所有这些配置,包括覆盖率输出目录。
https://stackoverflow.com/questions/64281758
复制相似问题