我正在尝试使用mockito和powermockito测试方法,此方法在内部调用返回void的方法,我想模拟此方法,因为我不关心该方法的结果。我一直在尝试这个,但无法找到解决方案,请帮助我。
我尝试使用powermockito作为
SearchProcedureCodeControllerBean mock = mock(SearchProcedureCodeControllerBean.class);
PowerMockito.doNothing().when(mock).setErrorMessage((String)anyObject(), Mockito.anyList().toArray(), (String)anyObject(), (String)anyObject());
setErrorMessage是void方法,此方法的签名如下
public void setErrorMessage(String errorName, Object[] arguments,
String messageBundle, String componentId) {
}
答案 0 :(得分:2)
您只能存储模拟对象的存根方法。经过测试的对象绝对不会被嘲笑。使用Power Mockito,您可以使用静态方法,但不是您的情况。如果您不关心方法行为,请保持这样。它是无效的,所以从根本上说无关紧要。如果确实如此,并且你想抑制它的影响,那就意味着真正的问题在于设计,因为被测试的班级拥有太多的责任。将方法解压缩到另一个类,然后模拟它。