gWidget:有没有办法在testthat中模拟用户操作?

时间:2017-10-30 08:31:42

标签: r gwidgets testthat

在我的软件包中,我使用testthatgWidgetRGtk2,我想知道是否有一种方法可以从代码行模拟用户操作,例如在下面的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)
    })

如何模仿用户的操作?

1 个答案:

答案 0 :(得分:0)

经过彻底搜索后,我认为答案是在测试中调用处理函数。我没有找到任何方法从源代码访问invoke_change_handler。