gpt4 book ai didi

java - 模拟正在测试的同一类中的 void 方法

转载 作者:行者123 更新时间:2023-12-02 05:41:46 29 4
gpt4 key购买 nike

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

最佳答案

您只能 stub 模拟对象的方法。测试对象绝对没有被 mock 。使用 Power Mockito,您可以 stub 静态方法,但这不是您的情况。如果你不关心方法的行为,就这样吧。它是无效的,所以基本上无关紧要。如果确实如此,并且您想抑制它的影响,则意味着真正的问题在于设计,因为被测试的类承担了太多的责任。将方法提取到另一个类,然后模拟它。

关于java - 模拟正在测试的同一类中的 void 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24444105/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com