R使用testthat时源文件位置问题

时间:2018-10-03 07:15:53

标签: r testthat

我正在尝试设置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的新手。

1 个答案:

答案 0 :(得分:0)

./ tests /内部应该有一个名为 testthat.R

的文件

在此文件中,您可以添加3行:

library(testthat)
library(yourLibraryName)

test_check("yourLibraryName")

当然用您的包名称替换“ yourLibraryName”。

然后将加载软件包导出的所有功能,并且测试将可以使用它们。