Как включить тесты с помощью Skip_on_cran() при вызове covr::package_coverage()?
У меня есть несколько тестов в упаковке. Они будут запускаться локально, когда я использую call . Однако при вызове эти тесты не выполняются. Как включить эти тесты в вызов ?
Чтобы воспроизвести эту проблему. Я создал тестовый репозиторий:
https://github.com/sfcheung/testcovr
Это образец тестового файла
skip_on_cran()
test_that("Test foo", {
expect_equal(foo(2), 4)
})
devtools::test()
правильно выполнил этот тест локально:
> devtools::test()
ℹ Testing testcovr
✔ | F W S OK | Context
⠏ | 0 | foo
✔ | 1 | foo
══ Results ═══════════════════════════════════════════════════════════════════════════════════════════════════════════
[ FAIL 0 | WARN 0 | SKIP 0 | PASS 1 ]
Однако этот тест не выполняется:
> covr::package_coverage()
testcovr Coverage: 0.00%
R/foo.R: 0.00%
Я также пытался использоватьcode
но он все еще не запускал этот тест:
> covr::package_coverage(type = "none", code = "devtools::test()")
testcovr Coverage: 0.00%
R/foo.R: 0.00%
Есть ли способ запустить тесты с помощьюskip_on_cran()
при звонкеcovr::package_coverage()
?
1 ответ
Попробуйте установитьNOT_CRAN
переменную, выполнив
Sys.setenv(NOT_CRAN = "true")
а затем рассчитайте покрытие, как обычно, через
covr::package_coverage()