我正在学习用R进行我的第一次单元测试,并且我在R Markdown文件中编写了我的代码,以便轻松提供简短的研究报告。同时,我想测试我在这些文件中使用的函数,以确保结果是合理的。
问题在于:R Markdown文件是用于编织HTML编织器,而不是RUnit测试工具。如果我想将一个函数加载到测试代码中,我有几个选择:
有没有更明智的方法可以避免这些方法的缺点?
答案 0 :(得分:8)
你可以做这样的事情
## Rmarkdown file with tests
```{r definefxn}
foo <- function(x) x^2
```
Test fxn
```{r testfxn}
library(testthat)
expect_is(foo(8), "numeric")
expect_equal(foo(8), 6)
```
当然,通过的测试不会打印任何内容,但是失败的测试会打印有关失败的有意义的消息。