gpt4 book ai didi

java - Mockito 的 argumentCaptor 示例

转载 作者:IT老高 更新时间:2023-10-28 11:28:45 26 4
gpt4 key购买 nike

谁能给我一个例子,展示如何使用 org.mockito.ArgumentCaptor 类,以及它与 mockito 提供的 简单匹配器 有何不同。

我阅读了提供的 mockito 文档,但那些并没有清楚地说明它,没有一个能够清楚地解释它。

最佳答案

我同意@fge 所说的,再说一遍。让我们看一个例子。考虑你有一个方法:

class A {
public void foo(OtherClass other) {
SomeData data = new SomeData("Some inner data");
other.doSomething(data);
}
}

现在如果你想检查内部数据,你可以使用 captor:

// Create a mock of the OtherClass
OtherClass other = mock(OtherClass.class);

// Run the foo method with the mock
new A().foo(other);

// Capture the argument of the doSomething function
ArgumentCaptor<SomeData> captor = ArgumentCaptor.forClass(SomeData.class);
verify(other, times(1)).doSomething(captor.capture());

// Assert the argument
SomeData actual = captor.getValue();
assertEquals("Some inner data", actual.innerData);

关于java - Mockito 的 argumentCaptor 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36253040/

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