我正在使用Junit4
和Mockito
编写我的测试用例。在其中一个正在测试的类中,有一个函数init()
,它从构造函数中调用。无法存根android.os.Handler的post方法
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);
但我仍不断收到同样的exception
嘲笑Handler
类的post
方法。我应该如何对Handler类的post方法进行存根?