我对 R 比较陌生,正在尝试开发一个示例包,其中包含文档、单元测试等,以使我自己和公司的其他人能够参考它以获得最佳实践。
考虑到这一点,我将一个 R 函数保存到包结构的 R 文件夹中(由 RStudio 创建,在 git 分支中)
#' Loads the typical example for a specific modelling problem
#'
#' @keywords helper dataset logistic
#'
#' @param purpose Provide the type of modelling you're looking to do
#' @return dataset A dataset should be added to the workspace
#'
#' @examples
#' relevantTestDataset(purpose="logistic")
#' relevantTestDataset("logistic")
#'
#' @export
relevantTestDataset<-function(purpose)
{
if (purpose=="logistic")
{
loadedPackage<-"caret"
loadedData<-c("GermanCredit")
}
data(list=loadedData,package=loadedPackage)
}
我创建了以下测试(保存到符合 stringr 结构的测试文件夹)
context("Basic functionality")
test_that("a dataset is loaded up for each expected model type",{
expect_that(relevantTestDataset("a"),throws_error())
})
然后我在开发模式下运行 test() 并得到
Loading Example
Testing Example
NULL
我试过 test_dir("/tests/") 并返回一个空的控制台行然后继续。
我尝试了各种期望,看看这是否是问题所在,但都返回相同的控制台输出。我已经通过将其加载到我的工作区并执行它来验证该功能确实有效。
我确定我在这里做了一些完全愚蠢和明显的事情,有人可以准确地告诉我我哪里出错了吗?
在此先感谢,斯蒂芬