R 测试的结果不同于使用 Rscript 运行测试文件



我是R编程的新手,在testthat和Rscript上遇到了一个令人困惑的问题。

我有一个测试文件,称之为test.R,其中包含一堆testthat::test_that("test_name", {testthat::expect ...})语句。 如果我运行Rscript test.R,或者如果我只是将测试中的语句粘贴到 R 控制台并手动检查expect是否通过,则一切按预期工作,我的测试似乎成功。

但是,如果我使用library(devtools); devtools::test(),则测试失败,下标越界错误。

我没有包含任何特定的代码,因为我不想尝试调试特定错误,而是希望了解这是如何实现的。testthat运行不同的版本吗? 与testthat运行的行为相比,Rscript和 R 控制台之间的行为是否不同?

FWIW,我遇到了同样的问题。

就我而言,在脚本中创建的对象与在测试helper文件中创建的对象不完全相同,因此测试接收的信息与脚本略有不同,因此返回不同的结果。

最新更新