jest coverage在monorepo中项目的目录配置

问题描述

我有一个开玩笑的打字稿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']
}

server包中,我使用{p>

jest.config.js

但是当我开玩笑时,它会在我的monorepo的根目录下创建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',} 目录。

我只是尝试使用coveragecoverageDirectory: '<rootDir>/src/tests/coverage',coverageDirectory: 'src/tests/coverage',而不成功。

我唯一可以更改coverage目录路径方法是在monorepo的coverageDirectory: [__dirname,'src','tests','coverage'].join('/'),上指定它,但是我无法为每个项目指定coverage目录。

有人知道如何在monorepo上为每个项目指定不同的coverage目录吗?

解决方法

仅在为每个产品单独运行时,才可以为每个项目指定不同的coverage目录。如果您使用的是全局配置(jone.config.js位于monorepo的根目录),则对它们都应用相同的coverage设置,包括coverage输出目录。