coverage
- 类型:
- 默认值:
undefined - 版本:
>=0.4.0
收集测试覆盖率信息并生成覆盖率报告。
选项
enabled
- 类型:
boolean - 默认值:
false - CLI:
--coverage,--coverage=false
启用或禁用测试覆盖率收集。
provider
- 类型:
'istanbul' - 默认值:
'istanbul'
选择覆盖率收集方式。目前仅支持 istanbul。
rstest.config.ts
Istanbul provider
Istanbul 是一个广泛使用的 JavaScript 代码覆盖率分析工具,它通过插桩的方式来收集代码覆盖率信息。
要启用 istanbul 覆盖率,需要先安装 @rstest/coverage-istanbul。
@rstest/coverage-istanbul 由 swc-plugin-coverage-instrument 提供支持。
include
- 类型:
string[] - 默认值:
undefined
对匹配 glob 规则的文件进行测试覆盖率收集。
默认情况下,Rstest 会收集已测试文件的覆盖率。如果你希望在覆盖率报告中包含未测试的文件,可以使用 include 选项指定要包含的文件或模式。
rstest.config.ts
exclude
- 类型:
string[] - 默认值:
匹配 glob 规则的文件将从测试覆盖率收集中排除。自定义配置将与默认值合并。
rstest.config.ts
reporters
- 类型:
(ReporterName | [ReporterName, ReporterOptions>])[] - 默认值:
['text', 'html', 'clover', 'json']
用于覆盖率收集的报告器。每个报告器可以是字符串(报告器名称)或包含报告器名称及其选项的元组。
- 有关可用报告器,可参考 Istanbul Reporters。
- 有关报告器选项的详细信息,可参考 @types/istanbul-reporter。
rstest.config.ts
reportsDirectory
- 类型:
string - 默认值:
'./coverage'
存储覆盖率报告的目录。
rstest.config.ts
reportOnFailure
- 类型:
boolean - 默认值:
false
在测试失败时是否生成覆盖率报告并检查阈值。
rstest.config.ts
clean
- 类型:
boolean - 默认值:
true
是否在运行测试之前清理覆盖率目录。
rstest.config.ts
thresholds
- 类型:
- 默认值:
undefined
设置最低代码覆盖率要求。你可以为语句、函数、分支和行覆盖率设置阈值。
当阈值设置为正数时,表示所需的最低百分比。当阈值设置为负数时,表示允许未覆盖的最大数量。
rstest.config.ts
当代码覆盖率低于指定阈值时,测试将失败并输出如下错误信息:
glob 模式
当指定 glob 模式时,Rstest 将根据匹配的文件模式进行代码覆盖率检查。如果指定的文件路径不存在,则返回错误。
rstest.config.ts
根据以上配置,rstest 将在以下情况下失败:
src/**匹配到的文件的总语句覆盖率低于 100%。node/**/*.js匹配到的文件的总语句覆盖率低于 90%。- 全局的语句覆盖率低于 80%。
单文件检查
Rstest 支持通过将 perFile 设置为 true 来为每个匹配文件分别检查阈值。
rstest.config.ts