我正在创建一个具有标准目录层次结构的 R 包。在R
目录中,我创建了一个test
子目录。
在R
目录中,我创建了一个uTest.R
文件,其中包含:
uTest <- function() {
test.suite <- defineTestSuite('test',
dirs = file.path('R/test'))
test.result <- runTestSuite(test.suite)
printTextProtocol(test.result)
}
在R/test
目录中,我创建了一个runit.test.R
文件,其中包含:
test.validDim <- function() {
testFile <- "test/mat.csv"
generateDummyData(testFile,
10,
10)
checkEquals(validDim(testFile), TRUE)
}
R CMD INSTALL --no-multiarch --with-keep.source RMixtComp
我使用Rstudio构建和安装我的包。当我尝试启动该功能uTest()
时,我收到以下错误消息:
1 Test Suite :
test - 1 test function, 1 error, 0 failures
ERROR in test.validDim: Error in func() : could not find function "checkEquals"
但是,如果我在调用library(RUnit)
之前调用uTest()
,一切正常。在文件的import
字段中DESCRIPTION
,我添加了RUnit
,在NAMESPACE
我添加的文件中import(RUnit)
。
如何uTest()
在加载我的包后直接调用,而无需手动加载 RUnit ?