Unit testing Mockito捕获回调消息
我有一个模拟回调对象Unit testing Mockito捕获回调消息,unit-testing,mocking,mockito,Unit Testing,Mocking,Mockito,我有一个模拟回调对象 Callback callback = mock(Callback.class); 此对象有两个方法,done()和failed(String msg) 我做一个 verify(callback).done(); 要查看是否调用了done(),但当情况不太好时,调用了failed(String msg),如何打印msg?在验证调用了failed()时,可以使用捕获msg,例如在测试类中,可以定义: @Mock private Callback mockCallback;
Callback callback = mock(Callback.class);
此对象有两个方法,done()
和failed(String msg)
我做一个
verify(callback).done();
要查看是否调用了done()
,但当情况不太好时,调用了failed(String msg)
,如何打印msg
?在验证调用了failed()
时,可以使用捕获msg
,例如在测试类中,可以定义:
@Mock private Callback mockCallback;
@Captor private ArgumentCaptor<String> stringCaptor;
@Mock private Callback mockCallback;
@捕获者私人辩论捕获者stringCaptor;
在测试中:
verify(mockCallback).falied(stringCaptor.capture());
final List<String> capturedMessages = stringCaptor.getAllValues();
final String actualMsg = capturedMessages.get(0);
final String expectedMsg = "foo";
assertEquals(expectedMsg, actualMsg);
verify(mockCallback).falied(stringCaptor.capture());
最终列表capturedMessages=stringCaptor.getAllValues();
最终字符串actualMsg=capturedMessages.get(0);
最终字符串expectedMsg=“foo”;
资产质量(预期SG、实际SG);
注:mockito v1.8.3中引入了
@Captor
注释。如果您使用的是之前的版本,则上面链接的API中有一个先前语法的示例。您可以发布回调和测试代码吗?链接已不存在。