标签: unitizer

针对存储的R对象进行测试

是否有一个简单的工作流来编写将对象存储为.rds或.rda的测试,以便将来运行的测试可以比较代码执行的结果与存储的对象?这样可以很容易地检查返回有些复杂值的函数是否仍然按预期运行.

例如,类似于:

test_obj(res <- lm(y ~ x, data.frame(x=1:3, y=5:7)))
Run Code Online (Sandbox Code Playgroud)

如果*extdata/test_obj.res.rds*不存在,将在*inst/extdata/test_obj.res.rds*中创建它,res从上面开始,但如果确实存在,则会相同/ all.equal等新生成的对象与从rds中恢复的对象.

我会发现这样的测试超级有用,我有点惊讶RUnit/svUnit/test没有实现某种类型的东西(我希望他们这样做,我只是没有找到它).

testthat::make_expectation是接近,但我更喜欢有自动存储/检索rds,而不是将文本表示复制粘贴到文件,我认为你应该如何使用testthat::make_expectation(我想我可以管道stdout()到一个. R文件,但即使这样,也有一些自动化可以促进这个过程).

r testthat unitizer

2
推荐指数
1
解决办法
210
查看次数

标签 统计

r ×1

testthat ×1

unitizer ×1