如何为一个组件文件运行 Jest 覆盖

问题描述

我只想获得我目前正在处理的一个文件的覆盖率报告。

拥有整个应用程序文件的完整覆盖表而不是搜索我需要的文件有点让人不知所措。

我尝试的是对一个文件运行测试并添加--coverage。但它显示了所有文件的覆盖范围:

package.json

...
"test": "react-scripts test",...

我的命令

npm test my-component.test --coverage

是否有一个选项可以添加到此命令中以仅显示 my-component.tsx 覆盖范围?

解决方法

解决方案是添加一个小选项 --collectCoverageFrom 以仅收集某个文件(即组件)。这是基于这篇文章 https://joshtronic.com/2017/10/24/configuring-jest-to-show-code-coverage-for-all-of-your-files/

npm test my-component.test --coverage --collectCoverageFrom=src/components/my-component/my-component.tsx

这将仅显示 my-component.tsx 的覆盖率表。

注意

my-component.tsx 文件的路径需要相对于项目根目录且准确。它不能像我对 my-component.test 所做的那样是相对的。