我想对一个包运行测试testthat并计算代码覆盖率covr。此外,结果testthat应以 JUnit XML 格式保存,结果covr应以 Cobertura 格式保存。
以下代码可以解决问题(何时getwd()是包的根):
options("testthat.output_file" = "test-results.xml")
devtools::test(reporter = testthat::JunitReporter$new())
cov <- covr::package_coverage()
covr::to_cobertura(cov, "coverage.xml")
但是,测试会执行两次。一次devtools::test和一次covr::package_coverage。
我的理解是covr::package_coverage执行测试,但不会产生test-results.xml.
正如标题所暗示的,我想同时获得这两个test-results.xml测试coverage.xml套件的执行。