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