我在模仿时遇到了这个例外 LocalDate.now()
静态法 Mockito.mockStatic()
.
org.mockito.exceptions.misusing.unfinishedstubbingexception:在utils.powermocktest.test(powermocktest)检测到未完成的存根异常。java:18)
e、 g.可能缺少return()。
正确的存根示例:when(mock.isok()).thenreturn(true);when(mock.isok()).thenthrow(异常);dothrow(exception).when(mock).somevoidmethod();提示:
缺少返回()
您正在尝试存根一个不支持的最终方法
在“thenreturn”指令完成之前,您正在存根另一个mock的行为
代码是
public class MockStaticTest {
@Test
void test(){
LocalDate today=LocalDate.of(2020,11,20);
try (MockedStatic mocked = mockStatic(LocalDate.class)) {
mocked.when(LocalDate::now).thenReturn(LocalDate.of(2020,11,10));
Assertions.assertEquals(today,LocalDate.now());
mocked.verify(atLeastOnce(),LocalDate::now);
}
}
}
我对异常消息有点困惑,因为我确实添加了 thenReturn
声明。
任何帮助都将不胜感激。
2条答案
按热度按时间6pp0gazn1#
你试过mocked.when(localdate.now()).thenreturn(localdate.of(2020,11,10))?
kx1ctssn2#
尝试: