Instrumentation classのinvokeMenuActionSync()の関数を使用します。
invokeMenuActionSync()をコールすることで、メニューボタンを押すテストができます。
テストされる側のコードを紹介します。
メニューを生成する部分のコードです。
menu.add(Menu.NONE, Menu.FIRST, Menu.NONE, "1"); menu.add(Menu.NONE, Menu.FIRST + 1, Menu.NONE, "2");メニューを押された時のコードです。ID 1のボタンが押された場合に、ログとしてpushed 1と表示するようにします。
public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case Menu.FIRST: Log.d("test", "pushed 1"); break; case Menu.FIRST + 1: Log.d("test", "pushed 2"); break; default: break; } return true; }
テストする側のコードを紹介します。ActivityInstrumentationTestCase2のサブクラスです。
メニューボタンを押すコードです。
mInstrumentation.invokeMenuActionSync(mActivity, Menu.FIRST, 0);
こちらのページのようにJUnitを実行してください。 here.
Logcatに以下のように表示されます。
pushed 1テストされる側のソースコードです。 ここ.
テストする側のソースコードです。 ここ.
0 件のコメント:
コメントを投稿