Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing Mockito捕获回调消息_Unit Testing_Mocking_Mockito - Fatal编程技术网

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中有一个先前语法的示例。

您可以发布回调和测试代码吗?链接已不存在。