繁体   English   中英

模拟来自正在测试的同一类的void方法

[英]Mocking a void method from the same class that is being tested

我正在尝试使用嘲笑和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) {
}

您只能对模拟对象的方法进行存根。 测试对象绝对不会被嘲笑。 使用Power Mockito,您可以对静态方法进行存根处理,而不是您的情况。 如果您不关心方法的行为,则可以像这样保留它。 它是无效的,所以从根本上来说没关系。 如果这样做,并且您想抑制它的影响,那将意味着真正的问题出在设计上,因为被测类承担了太多责任。 将方法提取到另一个类,然后对其进行模拟。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM