covr 显示 0% 的覆盖率,而所有带有 testthat 的测试都通过了

jja*_*iak 7 unit-testing code-coverage r testthat covr

我已经为大多数功能构建了一个带有单元测试的包。该包具有标准结构:

package:
  - R/
    - file1.R
    - file2.R
    - ...
  - tests/
    - testthat/
      - tests_for_file1.R
      - tests_for_file2.R
      - ...
  - ...
Run Code Online (Sandbox Code Playgroud)

devtools::check()在 R 控制台中调用函数不会给我任何错误

R CMD check results
0 errors | 1 warning  | 1 note
Run Code Online (Sandbox Code Playgroud)

调用一个函数devtools::test()也成功

OK:       72
Failed:   0
Warnings: 0
Skipped:  0
Run Code Online (Sandbox Code Playgroud)

但是covr::package_coverage()给我这个结果

package Coverage: 0.00%
R/file1.R: 0.00%
R/file2.R: 0.00%
...
Run Code Online (Sandbox Code Playgroud)

为什么?

jja*_*iak 7

我在这里找到了问题的答案

我丢失了package/tests/testthat.R文件,可以使用usethis::use_testthat()和进行设置usethis::use_test()。它帮助了我。

  • 谢谢!我的路径为“package/tests/testthat/testthat.R”,但它不起作用。将其更改为“package/tests/testthat.R”有效。 (2认同)