Testthat - 测试是否可以加载文件并将其用于进一步测试

时间:2018-05-25 09:26:33

标签: r testthat

我想使用testthat测试数据集,作为第一个测试,我想测试是否可以加载。我这样做如下:

<<-

如您所见,我必须使用可怕的nd才能在以下测试中访问test_that( "Names are OK", { expect_named( nd, nd_names ) } )

<<-

在tyhis案例中使用{{1}}是否有更好的选择?

2 个答案:

答案 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.Rhelper目录中的帮助文件(名称以testthat开头)中定义函数,或者只在给定测试文件的开头定义函数。