问题描述
我正在研究一个R软件包,其中在测试安装过程中(在安装文件中)定义了列表对象。
obj_1 <- list(a = A,b = B)
此后,对obj_1
的所有元素的测试将循环执行。现在,我发现我实际上不需要对象B。因此,我在设置期间排除了B的创建,并使用obj_1 <- list(a = A)
第二次运行测试。奇怪的是,在测试循环中似乎在obj_1中找到了b并且测试失败,因为找不到B。如果我重新启动R并重新运行测试,一切都会通过。不知何故,似乎obj_1(带有A和B)都从第一次测试开始就存储在测试环境中。
在测试结束时,我需要rm(list = ls())
之类的东西,包括在teardown.R文件中的此语句不能解决问题。 withr::defer(cleanup(),teardown_env())
也无济于事。以某种方式,我认为可以使用此处描述的一种方法解决此问题:https://testthat.r-lib.org/articles/test-fixtures.html
是否应该自动清理测试环境?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)