Я бы хотел запустить тесты для пакета с 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
при одном выполнении набора тестов.