我正在尝试使用testthat
包进行一些单元测试,但我似乎无法让它与rms
包一起正常工作。下面的例子:
library(rms)
set.seed(10)
ds <- data.frame(
ftime = rexp(200),
fstatus = sample(0:1,200,replace=TRUE),
x1 = runif(200),
x2 = runif(200),
x3 = factor(sample(LETTERS[1:3], size=200, replace=TRUE)))
ddist <- datadist(ds)
options(datadist="ddist")
s <- Surv(ds$ftime, ds$fstatus == 1)
fit <- cph(s ~ x1 + x2 + x3, data=ds)
返回此错误:
设计错误(eval.parent(m)):未找到选项的数据集 ddist(datadist=)
即使 print(ddist) 有效并且 options("datadist") 返回正确的变量,这也是如此。是否testthat
有导致错误的不同变量范围?
更新
我通过在我的包目录(Eclipse StatET)中启动的 R 控制台运行测试:
library(testthat)
test_dir("inst/tests")
q()
R CMD check --as-cran 也会出现同样的错误