【发布时间】:2021-04-20 17:39:57
【问题描述】:
有没有办法自动测试menu()函数?
我在需要一些用户交互的包中创建了一个函数。它基本上询问用户结果是否符合要求。我想要一个testthat-body,它接受输入并创建和检查输出。然而,用户交互阻碍了这个框架。有没有办法以编程方式插入用户答案?我尝试了interactive() 函数但没有成功。
library(testthat)
# fancy function
askPermission <- function(old, new) {
cat(paste0(old,
"\n--->\n", new, "\n\n"))
prompt <- "Use this? "
response <- menu(c("YES", "NO"), title = prompt) == 1
return(new)
}
# tests
test_that("test Permission", {
expect_equal(askPermission("A", "B"), "B")
})
【问题讨论】:
标签: r automated-tests testthat