假设我有这样的测试:
require(testthat)
context("toy test")
test_that("toy", {
df = my.read.file("test.txt", header=TRUE)
expect_true(myfunc(df) == 3.14)
})
而这个测试依赖于一个外部文件test.txt,那么我应该把这个文件放在哪里呢?
你把这些放在testthat
文件夹中(里面tests
)。在那里,您包含了您可能用于测试的任何“外部”文件(或提供了一些额外的解释,用户可能会发现信息丰富,例如在“.txt”文件中)。你也有你的.r
测试文件在这里。
或者(或者,另外):您还可以从另一个位置加载文件,方法是包含文件的路径(例如,到您的data
文件夹 - 使用相对路径)。但是,这可能会导致基础架构脆弱,因为您可能无法始终依赖该外部位置可用,在这种情况下,testthat
当找不到文件时会引发错误。
链接到外部文件的示例tests
,请参见此处。不过,当你这样做时要小心。
正确的地方似乎是(有点直观)/path/to/project/tests/testthat
。