Verify object attribute value with mockito

前端 未结 2 860
暖寄归人
暖寄归人 2020-12-22 14:54

I have a method call which I want to mock with mockito. To start with I have created and injected an instance of an object on which the method will be called. My aim is to v

2条回答
  •  天命终不由人
    2020-12-22 15:44

    New feature added to Mockito makes this even easier,

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

    Take a look at Mockito documentation


    In case when there are more than one parameters, and capturing of only single param is desired, use other ArgumentMatchers to wrap the rest of the arguments:

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

提交回复
热议问题