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

时间:2018-09-17 14:52:58

标签: r testing testthat

我是R语言编程的新手,遇到了testthat和Rscript令人困惑的问题。

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

但是,如果我使用library(devtools); devtools::test(),则测试失败,并且下标超出范围错误。

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

1 个答案:

答案 0 :(得分:0)

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

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