我有一段R代码(不是一个包),我想用testthat编写验收测试,并将输出用于Jenkins。
我可以从两个文件开始,这些文件演示了代码结构:
# -- test.R
source("test-mulitplication.R")
# -- test-mulitplication.R
library(testthat)
test_that("Multipilation works ", {
res <- 5 * 2
expect_equal(res, 10)
})
在运行后,我希望能够获得每个测试文件或所有测试的结果的xml文件。
我注意到testthat内部有一个“reporter”功能,但大部分似乎是针对该软件包的。不清楚如何保存测试结果以及该功能的灵活性。
不幸的是,该部分的文档不完整。
编辑:
我现在找到了一种使用更好的语法和选项来测试目录并生成junit输出的方法:
# -- tests/accpetance-tests.R
options(testthat.junit.output_file = "test-out.xml")
test_dir("tests/")
# -- tests/test-mulitplication.R
library(testthat)
test_that("Multipilation works ", {
res <- 5 * 2
expect_equal(res, 10)
})
我认为这会在报告器中生成一个XML对象,但我仍然不知道如何将其保存到文件中。
我尝试使用with_reporter
将test_dir
调用包装起来,但这没有什么作用。