【发布时间】:2017-11-26 23:09:00
【问题描述】:
我在 R 包中有一个简单的打印功能:
print.tabyl <- function(x){
print.data.frame(x, row.names = FALSE)
}
我正在尝试实现我的包的完整测试覆盖率,但让我很恼火的是我未经测试的打印功能将我的测试覆盖率降低到 99%(否则会是 100%)。
但我不知道如何捕获打印函数的输出以便为其编写测试。如何为打印功能编写测试?
【问题讨论】:
-
你见过
testthat包中的expect_output()函数吗?我在我的存储库中使用它来测试绘图输出:expect_output(print.tabyl(your_object)) -
或将其包装在
capture.output中,然后返回打印行的字符串
标签: r code-coverage testthat