java如何通过顺序调用测试void函数
如果一个函数不返回一个值,而是使用给定的参数来构造一些发送给序列函数的值,那么如何测试该函数呢
比如
public void handleSomeEvent(String str1, String str2){
MyObject obj1 = new MyObject();
obj1.setParameterA(str1);
obj2.setParameterB(str2);
EventHandler.getInstance().notify(obj1)
}
在上面的例子中,我想验证一下EventHandler.notify
是用一个包含str1
as parameterA
和str2
as parameter2
的对象调用的。这可以使用一些常见的mocking framework(即mockito)来实现吗
# 1 楼答案
在需要验证被调用的Parram的情况下,使用Mockito的
ArgumentCaptor<T>
参见参考资料: https://static.javadoc.io/org.mockito/mockito-core/2.6.9/org/mockito/ArgumentCaptor.html