在编写测试时,我有时想检查 R 对冲突的反应。
例如,我的包包含一个compact()
与 冲突的函数,purrr::compact()
我编写了一些代码,以便后者仍然用于常规列表。
purrr::compact()
在我的测试中,如果我的包被加载,我想检查它是否仍然可以在常规列表中工作。
因此,我编写了一个看起来有点像这样的单元测试:
test_that("Test A", {
library(purrr, include.only="compact", warn.conflicts=FALSE)
compact = crosstable::compact
x = list(a = "a", b = NULL, c = integer(0), d = NA, e = list())
expect_identical(compact(x), list(a="a",d=NA))
})
但是,该library()
调用具有全局影响,会与其他一些不相关的测试混淆。
有没有办法在本地导入库?
我正在考虑类似的事情rlang::local_options()
。