You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何一次性使用testthat与covr完成R包测试及代码覆盖率统计

实现R包测试与覆盖率报告的方案

如果你想用testthat对R包进行测试并导出JUnit XML格式的测试结果,同时用covr计算代码覆盖率并生成Cobertura格式报告,只要确保当前工作目录是你的R包根目录,就可以用下面的代码完成:

# 配置testthat的测试结果输出文件路径
options("testthat.output_file" = "test-results.xml")

# 运行包测试并生成JUnit格式的测试报告
devtools::test(reporter = testthat::JunitReporter$new())

# 计算整个R包的代码覆盖率
cov <- covr::package_coverage()

# 将覆盖率结果导出为Cobertura格式的XML文件
covr::to_cobertura(cov, "coverage.xml")

简单解释下每一步:

  • 第一行代码设置了testthat的输出文件参数,让测试结果直接写入test-results.xml文件;
  • 调用devtools::test()时指定JunitReporter,就能生成符合JUnit标准的测试报告;
  • covr::package_coverage()会扫描整个包的代码,统计测试覆盖情况;
  • 最后用covr::to_cobertura()把覆盖率数据转换成Cobertura格式,保存到coverage.xml中。

内容的提问来源于stack exchange,提问作者robertdj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:18:25