2015-05-26 33 views
14

假設我有這樣的測試:如果把外部文件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,我應該在哪裏把這個文件呢?

回答

14

你把這些在testthat文件夾(內tests)。在那裏,您可以包含任何可用於測試的「外部」文件(或者提供用戶可能會發現信息的其他解釋,例如在「.txt」文件中)。您也可以在這裏找到您的.r測試文件。通過包括文件的路徑(例如,到您的data文件夾 - 使用相對路徑),您也可以從其他位置加載文件。但是,這可能會導致脆弱的基礎架構,因爲您可能無法始終依賴該外部位置可用,在這種情況下,testthat將在找不到該文件時引發錯誤。

鏈接到一個文件的tests外的一個例子,請參見here。但是,當你這樣做時要小心。

0

在正確的地方似乎是(有點直覺)/path/to/project/tests/testthat