我想在R markdown pdf报告中包含错误消息。这很有效:
---
output: pdf_document
---
This will be knitted and show the error message in the pdf.
```{r, error = TRUE}
stopifnot(2 == 3)
```
但是,如果我尝试使用来自testthat
的错误的相同方法,我的文档就不再编织了。
---
output: pdf_document
---
This will not knit
```{r, error = TRUE}
library(testthat)
expect_equal(2, 3)
```
为什么?我该怎么做才能包含来自testthat
expect_something
函数的错误消息,而不会将它们包含在测试中?
我认为这一定是可能的,因为Hadley Wickham在其直接来自expect_something
- 函数的R包中包含了许多错误消息。
这是相关的,但未在Include errors in R markdown package vignette和How to skip error checking at Rmarkdown compiling?
中得到解答答案 0 :(得分:1)
我不明白行为的原因(好问题!),但这可能是一种解决方法:
---
output: pdf_document
---
This will knit
```{r, error = TRUE}
library(testthat)
# expect_equal(2, 3)
# skip_if_not(2, 3)
assertthat::assert_that(2 == 3)
```
答案 1 :(得分:1)
创建测试:
```{r, error = TRUE}
library(testthat)
test_that("Test A", {
expect_equal(2, 3)
})
```