gpt4 book ai didi

java - 使用 mockito 验证对象属性值

转载 作者:bug小助手 更新时间:2023-10-28 10:40:37 27 4
gpt4 key购买 nike

我有一个方法调用,我想用 mockito 模拟。首先,我创建并注入(inject)了一个对象实例,将在该实例上调用该方法。我的目标是验证方法调用中的对象之一。

mockito 是否允许您在调用 mock 方法时断言或验证对象及其属性?

例子

Mockito.verify(mockedObject)
.someMethodOnMockedObject(
Mockito.<SomeObjectAsArgument>anyObject())

我不想做 anyObject() 我想检查参数对象是否包含一些特定字段

Mockito.verify(mockedObject)
.someMethodOnMockedObject(
Mockito.<SomeObjectAsArgument>**compareWithThisObject()**)

最佳答案

添加到 Mockito 的新功能使这变得更加容易,

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

看看 Mockito documentation


如果有多个参数,并且只需要捕获单个参数,请使用其他 ArgumentMatchers 包装其余参数:

verify(mock).doSomething(eq(someValue), eq(someOtherValue), argument.capture());
assertEquals("John", argument.getValue().getName());

关于java - 使用 mockito 验证对象属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1142837/

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