在我的软件包中,我使用testthat
和gWidgetRGtk2
,我想知道是否有一种方法可以从代码行模拟用户操作,例如在下面的I& #39; m测试用户按下按钮的动作。到目前为止,我一直无法测试这部分代码,所以我必须手动测试所有这些。
require(gWidgets)
options("guiToolkit"="RGtk2")
win <- gwindow("Hello World", visible=TRUE)
obj <- gbutton("Hello world", container = gwindow(),
handler = function(h,...) assign("test",1,.GlobalEnv))
require(testthat)
test_that("Test button click",{
# Something here to emulate pushing button
expect_equivalent(test,1)
})
如何模仿用户的操作?
答案 0 :(得分:0)
经过彻底搜索后,我认为答案是在测试中调用处理函数。我没有找到任何方法从源代码访问invoke_change_handler。