在 R markdown 文档中包含来自 testthat 的错误消息

Include error messages from testthat in R markdown document

我想在 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)
```

这是为什么?我可以做些什么来包含来自 testthatexpect_something 函数的错误消息而不将它们包装在测试中?

我认为这一定是可能的,因为 Hadley Wickham 在他的书 R 包中包含许多直接来自 expect_something-functions 的错误消息。

这是相关的,但在 and

中没有回答

我不明白该行为的原因(问得好!),但这可能是一个解决方法:

---
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)
```

创建测试:

```{r, error = TRUE}
library(testthat)
test_that("Test A", {
  expect_equal(2, 3)
})
```