在哪里放置外部文件进行testthat测试

时间:2015-05-26 20:13:03

标签: r testing testthat

假设我有这样的测试:

require(testthat)
context("toy test")
test_that("toy", {
            df = my.read.file("test.txt", header=TRUE)
            expect_true(myfunc(df) == 3.14)
})

并且此测试依赖于外部文件test.txt,我应该在哪里放置此文件?

2 个答案:

答案 0 :(得分:19)

您将这些文件放在testthat文件夹中(tests内)。在那里,您可以包含可能用于测试的任何“外部”文件(或者提供用户可能会发现信息的其他解释,例如在“.txt”文件中)。您还可以在此处获得.r测试文件。

或者(或者另外):您也可以通过包含文件的路径(例如,到data文件夹 - 使用相对路径)从其他位置加载文件。但是,这可能会导致基础结构变得脆弱,因为您可能无法始终依赖该外部位置,在这种情况下testthat会在无法找到文件时引发错误。< / p>

链接到tests之外的文件的示例,请参阅here。但要注意这一点。

答案 1 :(得分:0)

正确的地方似乎(有点直观地)/path/to/project/tests/testthat