2016-03-23 7 views
0

Erstellen eines Pakets mit Tests für Tests; Diese benötigen eine externe Datei, die wie empfohlen in /tests/testthat/my-file liegt.testthat .Rbuildignore + externe Datei (HINWEIS)

jedoch die R CMD check produziert

Found the following hidden files and directories: 
    tests/testthat/my-file 

Die oben ist HINWEIS (Status: 1 NOTE)

Wenn ich meine-Datei zu .Rbuildignore (devtools::use_build_ignore("/tests/testthat/my-file") fügen Sie dann die Datei gut, bei der Prüfung ignoriert, damit alle Tests schlagen fehl und das Paket kann nicht erstellt werden.

Wie kann ich dieses Problem lösen? Ich verstehe, dass ein NOTE ist passabel, aber ich möchte es trotzdem loswerden.

+0

Was ist der eigentliche Name der Datei? – Thomas

+0

Dies sind die Anmeldeinformationen für eine API '. Token' (nicht von HTTR) – JohnCoene

Antwort

1

Der bevorzugte Weg (nach Hadley), API-Anmeldeinformationen zu laden, ist über Umgebungsvariablen. Wenn Sie die Anmeldeinformationen mit Ihrem Paket teilen, können Sie sie einfach in einer .onLoad-Funktion festlegen, die mit dem geladenen Paketnamespace ausgeführt wird. Wenn Sie nur Tests lokal mit diesen Anmeldeinformationen ausführen möchten, diese aber nicht freigeben möchten, fügen Sie sie der globalen Renviron.site Datei hinzu (oder, weniger bequem, in einer .Renviron Datei in Ihrem Arbeitsverzeichnis). Dann können Sie diese Datei aus Ihrer Paketstruktur löschen (oder .Rbuildignore es gerade) und machen die Tests bedingt durch die Anwesenheit der Umgebungsvariablen, mit so etwas wie:

if (!identical(Sys.getenv("MY_ENV_VAR"), "")) { 
    test_all("package") 
} 
Verwandte Themen