我有一个包含file.choose()
的函数,我希望使用testthat
进行测试(在较小的范围内使用goodpractices
)。
我知道这种互动功能并不受欢迎。我自己并不喜欢它,但在我写的一个软件包中,我真的需要为初学者用户提供这样的帮助(希望将它们带到非交互式的替代品中)。
测试是否可以自动执行,例如不手动选择文件?
我知道such a question已经(部分)已经被问及我理解答案背后的想法,但我觉得这可以绕过我的问题而不是解决问题。也许,从本质上讲,它是不可能解决的。
下面是一个可以提供帮助的代码。我们预计最终不会有任何消息。
library(testthat)
fc <- function(x){
x <- file.choose()
return(x)
}
test_that("interactive function works",{
expect_true(is.character(fc()))
})