2015-05-26 20 views
14

Supponiamo che io sono test come questo:Dove mettere i file esterni per testthat test

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

e questo test si basa su un test.txt file esterno, dove devo mettere questo file, allora?

risposta

14

Si inseriscono questi nella cartella testthat (all'interno di tests). Lì, si include qualsiasi file "esterno" che si potrebbe utilizzare per i test (o che fornisce alcune spiegazioni aggiuntive che l'utente potrebbe trovare informativo, come in un file ".txt"). Hai anche i tuoi file di test .r qui.

In alternativa (o, in aggiunta): è anche possibile caricare il file da un'altra posizione, includendo il percorso del file (ad esempio, nella cartella data - utilizzare un percorso relativo). Tuttavia, ciò può comportare un'infrastruttura fragile, poiché potrebbe non essere possibile fare affidamento su tale posizione esterna per essere sempre disponibile, nel qual caso testthat genererà un errore quando non riesce a trovare il file.

Un esempio di collegamento a un file esterno a tests, vedere here. Attenzione quando lo fai, però.

0

Il posto giusto sembra essere (in qualche modo intuitivo) /path/to/project/tests/testthat.