テストする方法があります。それは次のように始まります。
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo;
contextString = adapter.getItem(info.position);
/.../
}
Mockito を使用してテストしたいのですが、menuInfo を次のように宣言すると、次のようになります。
@Mock ContextMenuInfo menuInfo
次に、次のステートメントをコンパイルできません。
Mockito.when(menuInfo.position).thenReturn(1);
ContextMenuInfo
オブジェクトに対して有効ではないためです。AdapterView.AdapterContextMenuInfo
実行時にエラーが発生するため、オブジェクトをクラスとして宣言できません。
Mockito では、モックが複数のインターフェイスを実装する可能性があることはわかっていますが、同じことはクラスには当てはまりません。上記の方法をテストするにはどうすればよいでしょうか?