I'd like to be able to use testthat
and covr
in a project that is not an r package. In fact does not use any third party services. Just a collection of plain-old-r source files
I am struggling to find out if this is possible, and if so, the instructions on how to set this is up.
What I have found assumes you are writing an r package. I like to avoid this overhead.
Prior Art:
That should be possible without problems.
First: I have one file with code that should be tested named code.R
:
f1 <- function(n, ...) {
rnorm(n = n, ...)
}
Second: Then I have a file with tests named tests.R
:
source("code.R")
test_that("Random tests", {
tmp1 <- f1(10)
expect_type(tmp1, "double")
expect_equal(length(tmp1), 10)
})
Third: And then you can run tests as well as coverage like this:
library(testthat)
library(covr)
test_file("tests.R")
res <- file_coverage("code.R", "tests.R")
res
report(res)
Multiple files should be no problem.