我正在使用 testthat 包来测试更大存储库中的 R 包。我想测试 R 包之外的文件的内容。
我可以在测试时引用位于 R 包之外的文件吗?
我试过的
可复制的示例可以下载为MyRepo.tar.gz
我的存储库名为“myRepo”,它包括一个 R 包、“myRpkg”和一个充满杂项脚本的文件夹
~/MyRepo/
~/MyRepo/MyRpkg
~/MyRepo/Scripts
“MyRpkg”中的测试在/tests/
文件夹中
~/myRepo/myRpkg/tests/test.myscript.R
我希望能够测试 Scripts 文件夹中的文件:
~/MyRepo/Scripts/myscript.sh
我想阅读脚本以测试第一行的内容,执行如下操作:
check.script <- readLines("../../../Scripts/myscript.sh")[1]
expect_true(grepl("echo", check.script))
如果我从 MyRepo 目录开始,这可以正常工作:
cd ~/MyRepo
R CMD check MyRpkg
但是如果我移动到另一个目录,它会失败:
cd
R CMD check MyRepo/MyRpkg