我想将测试(不测试Rmd文件,但在文档中包含测试)添加到失败的Rmd文件,但是我无法使用knitr生成pdf,因为它在测试失败时停止。怎么做到这一点?代码:
---
title: "test"
output:
pdf_document: default
html_document: default
---
```{r, error=TRUE}
library(testthat)
expect_equal(1, 2)
```
```{r, error=TRUE}
library(testthat)
expect_equal(1, 1)
```
ENV:
R version 3.3.1 (2016-06-21)
Platform: x86_64-redhat-linux-gnu (64-bit)
[...]
loaded via a namespace (and not attached):
[1] backports_1.0.5 magrittr_1.5 rprojroot_1.2 htmltools_0.3.5 tools_3.3.1 yaml_2.1.14 Rcpp_0.12.9
[8] stringi_1.1.2 rmarkdown_1.3 knitr_1.15.1 stringr_1.2.0 digest_0.6.12 evaluate_0.10
答案 0 :(得分:2)
解决方案是使用test_that
。以下代码完美无缺:
```{r, error=TRUE}
library(testthat)
test_that(1, expect_equal(1, 2))
```
```{r, error=TRUE}
test_that(2, expect_equal(1, 1))
```
请注意test_that
中的第一个参数是测试的名称。