2017-10-30 7 views
0

私のパッケージでは、testthatgWidgetRGtk2を使用していますが、コード行からユーザーアクションをエミュレートする方法があるかどうかを知りたいと思います。たとえば、次のように私はユーザーがボタンを押したときの動作をテストしています。これまではコードの一部をテストすることができなかったので、手動ですべてテストしなければなりません。gWidget:テストでユーザーアクションをエミュレートする方法はありますか?

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

私には分かりません。 gWidgets2RGtk2には、このために使用できる、非公開の 'invoke_change_handler'があります。 – jverzani

+0

まず、私が何年も使用してきたあなたのパッケージについて、私はあなたに個人的に感謝したいと思います。あなたの答えをありがとう。私が試してみます ! – Cedric

答えて

0

非常に徹底的に検索した後、答えはテストでハンドラ関数を呼び出すことだと思います。ソースコードからinvoke_change_handlerにアクセスする方法が見つかりませんでした。

+0

はい。これはgWidgets2でのみ可能です – jverzani

関連する問題