20

假设我有这样的测试:

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

而这个测试依赖于一个外部文件test.txt,那么我应该把这个文件放在哪里呢?

4

2 回答 2

21

你把这些放在testthat文件夹中(里面tests)。在那里,您包含了您可能用于测试的任何“外部”文件(或提供了一些额外的解释,用户可能会发现信息丰富,例如在“.txt”文件中)。你也有你的.r测试文件在这里。

或者(或者,另外):您还可以从另一个位置加载文件,方法是包含文件的路径(例如,到您的data文件夹 - 使用相对路径)。但是,这可能会导致基础架构脆弱,因为您可能无法始终依赖该外部位置可用,在这种情况下,testthat当找不到文件时会引发错误。

链接到外部文件的示例tests,请参见此处。不过,当你这样做时要小心。

于 2015-06-01T06:47:22.387 回答
-1

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

于 2015-05-29T09:11:38.513 回答