我正在尝试设置testthat单元测试框架,但在获取正确的源文件位置时遇到了一些麻烦。
我的包裹文件夹结构如下:
.\R\abc.R
.\R\def.R
.\tests\testthat\test_01.R
在我的测试用例文件test_01.R中,我需要导入abc.R。我设法通过指定如下相对路径来使此工作正常进行:
'../../R/abc.R'
现在可以从我的测试案例中成功获取abc.R文件。但是,它在abc.R尝试获取def.R的步骤中失败。我认为这是因为通过testthat将工作目录设置为./tests/testthat。
我可以想到的解决方法是在def.R中添加相对路径'../../R/',但这对我来说似乎是一个糟糕的解决方案,因为直接运行abc.R时它将中断。而且我的软件包中还有很多文件,例如abc.R和def.R。
是否有更优雅的方式来处理此问题?
很抱歉,这是一个简单的问题,因为我还是R的新手。
答案 0 :(得分:0)
./ tests /内部应该有一个名为 testthat.R
的文件在此文件中,您可以添加3行:
library(testthat)
library(yourLibraryName)
test_check("yourLibraryName")
当然用您的包名称替换“ yourLibraryName”。
然后将加载软件包导出的所有功能,并且测试将可以使用它们。