Как включить тесты с помощью 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()
Другие вопросы по тегам