0

使用 testthat 构建一个包进行测试;那些需要一个外部文件,推荐的位于/tests/testthat/my-file.

然而R CMD check产生

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

以上为注(Status: 1 NOTE

如果我将 my-file 添加到.Rbuildignore( devtools::use_build_ignore("/tests/testthat/my-file") 则该文件很好,在检查期间被忽略,因此所有测试都失败并且无法构建包。

我该如何解决这个问题?我知道 aNOTE是可以通过的,但我还是想摆脱它。

4

1 回答 1

1

加载 API 凭证的首选方式(根据 Hadley 的说法)是通过环境变量。如果您与您的包共享凭据,您只需将它们设置在一个.onLoad函数中,该函数将在加载包命名空间时运行。如果您只想能够使用这些凭据在本地运行测试但不共享它们,则将它们添加到全局Renviron.site文件中(或者,不太方便,添加到.Renviron工作目录中的文件中)。然后你可以从你的包结构中删除这个文件(或者只是 .Rbuildignore 它)并使测试以环境变量的存在为条件,例如:

if (!identical(Sys.getenv("MY_ENV_VAR"), "")) {
  test_all("package")
}
于 2016-03-23T07:46:08.517 回答