Я пытаюсь выполнить модульное тестирование с использованием пакета 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
другую область видимости переменных, которая вызывает ошибки?
Обновлять
Я запускаю тест, запущенный консолью R в каталоге моего пакета (Eclipse StatET):
library(testthat)
test_dir("inst/tests")
q()
Та же ошибка возникает при проверке R CMD --as-cran
testthat
версия 0.7,evaluate
0.4.2 (и повторно протестировано сevaluate
0.4.3). Возможно, проблема в том, что StatET перехватывает обычные пути? Я не знаю, что вы подразумеваете под той же ошибкой с:R CMD check --as-cran
Это полная запись командной строки (которая выдала ошибку, когда я ее ввел, но не имеет ничего общего сrms
)? - person IRTFM   schedule 30.12.2012