我使用Mockito,沿着mockito-inline来模拟静态方法。我试图将doNothing
或类似的行为应用于静态void方法。下面的解决方法是可行的,但我认为应该有一种更方便的方法来用更少的代码实现这一点。
try (MockedStatic<UtilCalss> mock = Mockito.mockStatic(UtilCalss.class)) {
mock.when(() -> UtilCalss.staticMethod(any()))
.thenAnswer((Answer<Void>) invocation -> null);
}
字符串
如果它是一个非静态方法,我们可以简单地做:
doNothing().when(mock).nonStaticMethod(any());
型
但是我想对静态方法做同样的事情。
2条答案
按热度按时间xienkqul1#
你不需要给那个电话打存根。
doNothing
是在mock上调用的void
方法的默认行为。示例如下:
受试类别:
字符串
测试代码:
型
输出量:
型
n7taea2i2#
mockito-inline包括mockito-core:
字符串
如果你正在测试的静态方法返回nothing =>,不要使用mock.when =>,只执行你想要测试和验证的方法:
型
资源: