1

我希望能够在不是r 包的项目中使用testthat和。事实上不使用任何第三方服务。只是普通-old-r 源文件的集合covr

我正在努力找出这是否可能,如果是这样,有关如何设置的说明已经完成。

我发现假设您正在编写一个 r 包。我喜欢避免这种开销。

现有技术:

  1. https://www.rstudio.com/resources/webinars/covr-bringing-test-coverage-to-r/
  2. https://walczak.org/2017/06/how-to-add-code-coverage-codecov-to-your-r-package/
4

1 回答 1

5

这应该是没有问题的。

首先:我有一个包含应该测试的代码的文件,名为code.R

f1 <- function(n, ...) {
    rnorm(n = n, ...)
}

第二:然后我有一个名为测试的文件tests.R

source("code.R")

test_that("Random tests", {
    tmp1 <- f1(10)
    expect_type(tmp1, "double")
    expect_equal(length(tmp1), 10)
})

第三:然后你可以像这样运行测试和覆盖:

library(testthat)
library(covr)

test_file("tests.R")

res <- file_coverage("code.R", "tests.R")
res
report(res)

多个文件应该没问题。

于 2018-02-06T11:09:10.613 回答