有没有办法重现使用的环境devtools::check
?
我有问题,我的测试工作devtools::test()
但内部失败devtools::check()
.我的问题是现在,如何找到问题.报告check
只是打印错误日志的最后几行,我找不到完整的测试报告.
checking tests ... ERROR Running the tests in ‘tests/testthat.R’ failed. Last 13 lines of output: ...
我知道check
使用不同的环境相比,test
但我不知道如何调试这些问题,因为它们根本不可重现.特别是这些测试在几个月前运行,所以不知道在哪里寻找问题.
编辑
实际上我试图找到我的问题,我找到了解决方案.但要发布我的解决方案,我必须添加更多细节.
所以我的测试总是失败,因为我测试了markdown脚本,如果它运行没有错误,之后我检查是否正确设置了一些环境变量.这些是我用脚本计算的结果以及我设置的标准设置.因此,如果我在开发后忘记更改某些设置,我想收到警告...
无论如何,既然是降价剧本,我不得不提取代码,我是用这个职位评论knitr:运行Rmarkdown文档中的所有数据块使用knitr::purl
,以获取代码,并sys.source
执行它.
runAllChunks <- function(rmd, envir=globalenv()){ # as found here /sf/ask/17360801/ tempR <- tempfile(tmpdir = '.', fileext = ".R") on.exit(unlink(tempR)) knitr::purl(rmd, output=tempR, quiet=TRUE) sys.source(tempR, envir=envir) }
出于某种原因,这会产生一个错误,因为可能会持续几周(不确定我最近安装了哪些新软件包......).但是由于有一个新的评论,我可以使用knitr::knit
它也执行代码,这按预期工作,现在我的测试不再抱怨.
所以最后,我不知道问题究竟在哪里,但现在正在发挥作用.