r testthat и covr используют в непакетной библиотеке
Я хотел бы иметь возможность использовать testthat
а также covr
в проекте, который не является пакетом r. На самом деле не использует никаких сторонних услуг. Просто коллекция исходных файлов plain-old-r
Я изо всех сил пытаюсь выяснить, возможно ли это, и если да, то инструкции о том, как установить это, подняты.
То, что я нашел, предполагает, что вы пишете пакет r. Мне нравится избегать этих накладных расходов.
Предшествующий уровень техники:
1 ответ
Решение
Это должно быть возможно без проблем.
Во-первых: у меня есть один файл с кодом, который должен быть проверен, с именем 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)
Несколько файлов не должно быть проблем.