笑话:自动从测试文件中收集覆盖率
Posted
技术标签:
【中文标题】笑话:自动从测试文件中收集覆盖率【英文标题】:Jest: Automatically collect coverage from tested files 【发布时间】:2022-01-01 21:11:20 【问题描述】:在我的应用程序中,我在开发时运行:
npm run test src/components/component.test.tsx
这将为我正在处理的组件运行特定的测试套件。 最重要的是,我可以将其更改为:
npm run test src/components/component.test.tsx -- --coverage --coverageReporters=text-summary --collectCoverageFrom=src/components/component.tsx
一旦运行测试,它将打印该特定文件的覆盖率报告。
如您所见,这非常冗长,如果我想同时测试两个或三个文件,情况只会变得更糟。
有什么方法可以自动化 collectCoverageFrom
以从已测试的文件(而不是项目中的所有文件)中收集覆盖率,这样我就不必每次都手动输入?
【问题讨论】:
【参考方案1】:在你的 jest 配置文件中设置它。
你的 npm 脚本看起来像 jest -c path/to/jest.config.js
jest.config.js 看起来像
module.exports =
collectCoverage: true,
// The directory where Jest should output its coverage files
coverageDirectory: "./coverage",
// Indicates which provider should be used to instrument code for coverage
coverageProvider: "v8",
// A list of reporter names that Jest uses when writing coverage reports
coverageReporters: ["html", "text", "cobertura"],
如果你这样做jest --init
,它将帮助你构建一个新的配置文件
附注:您可能需要设置一个 jest 通配符,这样您就不需要单独写下要测试的每个文件。
【讨论】:
我可能措辞错误,这是专门用于在进行测试驱动开发时测试单个文件。 您可以通过在命令中添加测试路径来测试特定文件。jest -c path/to/config path/to/test
对不起,但这与我的要求没有任何关系。我显然已经知道所有这些,因为我的 OP 中有相同的命令。
如果它与你所问的没有任何关系,那么你的问题写得不好。使用配置文件指定覆盖率报告器,然后添加要测试的文件列表。如果这不能回答您的问题,您可能需要改写您已经发布的内容。以上是关于笑话:自动从测试文件中收集覆盖率的主要内容,如果未能解决你的问题,请参考以下文章