我想使用testthat测试数据集,作为第一个测试,我想测试是否可以加载。我这样做如下:
<<-
如您所见,我必须使用可怕的nd
才能在以下测试中访问test_that(
"Names are OK",
{
expect_named( nd, nd_names )
}
)
:
<<-
在tyhis案例中使用{{1}}是否有更好的选择?
答案 0 :(得分:0)
首先进行测试。然后重新加载
test_that( "Data can be loaded",
{
expect_error(
read_feather(DATAFILE),
regexp = NA
)
}
)
nd <- read_feather(DATAFILE)
test_that(
"Names are OK",
{
expect_named( nd, nd_names )
}
)
答案 1 :(得分:0)
这是使用memoise
包的可能模式(未经测试!):
load_nd <- function () {
expect_error(
nd <- read_feather(DATAFILE),
regexp = NA)
nd
}
load_nd <- memoise::memoise(load_nd)
现在,只要您需要数据,就可以调用该函数。您可以在testthat.R
或helper
目录中的帮助文件(名称以testthat
开头)中定义函数,或者只在给定测试文件的开头定义函数。