私のテストケースの作成にはJunit4
とMockito
を使用しています。テスト中のクラスの1つに、コンストラクタから呼び出される関数init()
があります。android.os.Handlerクラスのスタブポストメソッドはありません
void init(){
//Some code
Handler handler = new Handler(Looper.getMainLooper());
handler.post(new Runnable() {
@Override
public void run() {
//Some code
}
});
}
このクラスのconstructor
を作成しようとすると、次の例外がスローされます。
java.lang.RuntimeException: Method post in android.os.Handler not mocked.
は、それから私は、次のコード
Handler handler = spy(new Handler());
when(handler.post(Matchers.any(Runnable.class))).thenReturn(true);
を使用してHandler
クラスのpost
方法を模擬することを試みた。しかし、まだ私は同じexception
を取得し続けます。 Handlerクラスのpostメソッドをスタブするにはどうすればよいですか?