java - Mockito:获取模拟对象中字段的值

标签 java unit-testing mockito

我有一个模拟的 javax.ws.rs.client.WebTarget webTarget。然后我执行以下操作:

Mockito.when(webTarget.path(Mockito.anyString())).thenReturn(webTarget).

现在我想从 webTarget 模拟中检索 .path(String) 方法期间设置的字符串。我有机会这样做吗?当时

webTarget.getUri()

不幸的是返回null

最佳答案

要获取字符串,您可以使用 ArgumentCaptor :

ArgumentCaptor<Person> argument = ArgumentCaptor.forClass(Person.class);
verify(mock).doSomething(argument.capture());
assertEquals("John", argument.getValue().getName());

或验证

Mockito.verify(webTarget).path("expectedString")

关于java - Mockito:获取模拟对象中字段的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30911552/

相关文章:

java - 如何用英语句子检测产品的特征 - nlp

java - 如何获取某个月份的所有日期

sqlite - 流畅的 NHibernate 单元测试

android - 尝试使用 Mockito 模拟 SharedPreferences

java - 为什么我的字符数组就地递归代码不适用于所有测试用例?我的代码有问题吗

java - Spring MVC - 分页和请求方法

c++ - boost 测试 : catch user defined exceptions

java - 停止 Jmockit 中的模拟

Junit Test (Mockito, PowerMock) 一个带有void方法和私有(private)值的类

java - Mockito - 根据另一个对象状态验证方法调用