knitr:在输出PDF

时间:2017-02-21 11:51:30

标签: r knitr r-markdown

我想将测试(不测试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  

1 个答案:

答案 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中的第一个参数是测试的名称。