【发布时间】:2012-09-10 21:02:24
【问题描述】:
如何在 RUnit 中自动生成测试用例?
例如,假设我有一个简单的 sum() 函数:
sum <- function(x, y) {
return (x + y)
}
我想在一系列不同的测试用例上测试这个功能:
test_cases <- c( c(2, 2, 4),
c(3, 3, 6),
c(0, 0, 0),
c(-1, 2, 1)
)
每个向量的前两个元素是x和y,第三个是sum(x,y)函数的预期输出。
在 python 中,我可以轻松编写一个函数,为 test_cases 中的每个元素生成一个测试用例,但我不知道如何在 R 中实现它。我查看了 RUnit 和 testthat 文档,但是有没有类似的。这里最好的解决方案是什么?
这就是我在 python 中的编写方式(使用nosetest 启动测试单元):
for triplet in test_cases:
yield test_triplet(triplet)
def test_triplet(triplet):
assert(sum(triplet[0], triplet[1]) == triplet[2])
【问题讨论】: