testthat .Rbuildignore + 外部文件(注意)
testthat .Rbuildignore + external file (NOTE)
使用 testthat 构建包进行测试;那些需要一个外部文件,建议位于 /tests/testthat/my-file
.
然而 R CMD check
产生
Found the following hidden files and directories:
tests/testthat/my-file
以上为注意事项(Status: 1 NOTE
)
如果我将我的文件添加到 .Rbuildignore
(devtools::use_build_ignore("/tests/testthat/my-file"
) 那么文件是好的,在检查期间被忽略,因此所有测试都失败并且无法构建包。
我该如何解决这个问题?我知道 NOTE
是可以接受的,但我还是想摆脱它。
加载 API 凭据的首选方式(根据 Hadley 的说法)是通过环境变量。如果您要与您的包共享凭据,您只需在 .onLoad
函数中设置它们,该函数将 运行 加载包命名空间。如果您只是希望能够 运行 使用这些凭据在本地进行测试但不共享它们,请将它们添加到全局 Renviron.site
文件(或者,不太方便,在您的 .Renviron
文件中工作目录)。然后你可以从你的包结构中删除这个文件(或者只是 .Rbuildignore 它)并使测试以环境变量的存在为条件,例如:
if (!identical(Sys.getenv("MY_ENV_VAR"), "")) {
test_all("package")
}
使用 testthat 构建包进行测试;那些需要一个外部文件,建议位于 /tests/testthat/my-file
.
然而 R CMD check
产生
Found the following hidden files and directories:
tests/testthat/my-file
以上为注意事项(Status: 1 NOTE
)
如果我将我的文件添加到 .Rbuildignore
(devtools::use_build_ignore("/tests/testthat/my-file"
) 那么文件是好的,在检查期间被忽略,因此所有测试都失败并且无法构建包。
我该如何解决这个问题?我知道 NOTE
是可以接受的,但我还是想摆脱它。
加载 API 凭据的首选方式(根据 Hadley 的说法)是通过环境变量。如果您要与您的包共享凭据,您只需在 .onLoad
函数中设置它们,该函数将 运行 加载包命名空间。如果您只是希望能够 运行 使用这些凭据在本地进行测试但不共享它们,请将它们添加到全局 Renviron.site
文件(或者,不太方便,在您的 .Renviron
文件中工作目录)。然后你可以从你的包结构中删除这个文件(或者只是 .Rbuildignore 它)并使测试以环境变量的存在为条件,例如:
if (!identical(Sys.getenv("MY_ENV_VAR"), "")) {
test_all("package")
}