【发布时间】:2018-03-21 04:07:50
【问题描述】:
我有 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 调用,但这并没有多大作用。
【问题讨论】: