【发布时间】:2017-07-24 16:40:07
【问题描述】:
问题
java.lang.RuntimeException: android.os.CountDownTimer 中的方法启动未模拟。
即使我已经模拟了它。
这是我的代码
void mSomething() {
new CountDownTimer(5000, 5000) {
public void onTick(long millisUntilFinished) {
}
public void onFinish() {
//do somethig
}
}.start();
}
这是我的测试
@Test
public void testSomething() throws Exception {
CountDownTimer countDownTimer = mock(CountDownTimer.class);
PowerMockito.whenNew(CountDownTimer.class).withAnyArguments().thenReturn(countDownTimer);
someClass.mSomething();
//verify
}
【问题讨论】:
-
请告诉我们您在
@PrepareForTest注释中的内容——这是PowerMock 中常见的错误来源。 -
@RunWith(PowerMockRunner.class) @PrepareForTest(someClass.class)
-
你没有准备
CountDownTimer? -
我也尝试过,但仍然遇到同样的错误
-
@MohammedAsmar 你解决了这个问题吗?
标签: android unit-testing mockito powermock android-testing