草庐IT

ArgumentCaptor

全部标签

java - mockito 验证与 ArgumentCaptor 的交互

要检查与方法调用中的参数属于某种类型的模拟的交互次数,可以这样做mock.someMethod(newFirstClass());mock.someMethod(newOtherClass());verify(mock,times(1)).someMethod(isA(FirstClass.class));这要归功于对isA的调用,因为someMethod被调用了两次,但只有一次使用参数FirstClass然而,当使用ArgumentCaptor时,这种模式似乎是不可能的,即使Captor是为特定参数FirstClass创建的这不起作用mock.someMethod(newFirstC

Kotlin 函数的 Mockito ArgumentCaptor

考虑一个将接口(interface)实现作为参数的函数,如下所示:interfaceCallback{fundone()}classSomeClass{fundoSomeThing(callback:Callback){//dosomethingcallback.done()}}当我想测试这个函数的调用者时,我可以做类似的事情valcaptor=ArgumentCaptor.forClass(Callback::class)Mockito.verify(someClass).doSomeThing(captor.capture())为了测试调用回调时其他类的作用,我可以这样做capto

android - kotlin 和 ArgumentCaptor - IllegalStateException

我在通过ArgumentCaptor捕获Class参数时遇到问题。我的测试类如下所示:@RunWith(RobolectricGradleTestRunner::class)@Config(sdk=intArrayOf(21),constants=BuildConfig::class)classMyViewModelTest{@MocklateinitvaractivityHandlerMock:IActivityHandler;@CaptorlateinitvarclassCaptor:ArgumentCaptor>@CaptorlateinitvarbooleanCaptor:Ar

java - Mockito 的 argumentCaptor 示例

谁能给我一个例子,展示如何使用org.mockito.ArgumentCaptor类,以及它与mockito提供的简单匹配器有何不同。我阅读了提供的mockito文档,但那些并没有清楚地说明它,没有一个能够清楚地解释它。 最佳答案 我同意@fge所说的,再说一遍。让我们看一个例子。考虑你有一个方法:classA{publicvoidfoo(OtherClassother){SomeDatadata=newSomeData("Someinnerdata");other.doSomething(data);}}现在如果你想检查内部数据,

java - 如何使用 ArgumentCaptor 进行 stub ?

在Mockitodocumentation和javadocs它说ItisrecommendedtouseArgumentCaptorwithverificationbutnotwithstubbing.但我不明白ArgumentCaptor如何用于stub。有人可以解释上面的语句并展示如何使用ArgumentCaptor进行stub或提供一个链接来说明它是如何完成的吗? 最佳答案 假设以下方法进行测试:publicbooleandoSomething(SomeClassarg);Mockito文档说您应该不以这种方式使用captor

java - 如何使用 ArgumentCaptor 进行 stub ?

在Mockitodocumentation和javadocs它说ItisrecommendedtouseArgumentCaptorwithverificationbutnotwithstubbing.但我不明白ArgumentCaptor如何用于stub。有人可以解释上面的语句并展示如何使用ArgumentCaptor进行stub或提供一个链接来说明它是如何完成的吗? 最佳答案 假设以下方法进行测试:publicbooleandoSomething(SomeClassarg);Mockito文档说您应该不以这种方式使用captor

java - Mockito 可以捕获多次调用的方法的参数吗?

我有一个被调用两次的方法,我想捕获第二个方法调用的参数。这是我尝试过的:ArgumentCaptorfirstFooCaptor=ArgumentCaptor.forClass(Foo.class);ArgumentCaptorsecondFooCaptor=ArgumentCaptor.forClass(Foo.class);verify(mockBar).doSomething(firstFooCaptor.capture());verify(mockBar).doSomething(secondFooCaptor.capture());//thendosomeassertions

java - Mockito 可以捕获多次调用的方法的参数吗?

我有一个被调用两次的方法,我想捕获第二个方法调用的参数。这是我尝试过的:ArgumentCaptorfirstFooCaptor=ArgumentCaptor.forClass(Foo.class);ArgumentCaptorsecondFooCaptor=ArgumentCaptor.forClass(Foo.class);verify(mockBar).doSomething(firstFooCaptor.capture());verify(mockBar).doSomething(secondFooCaptor.capture());//thendosomeassertions
12