user6123723
user6123723

Reputation: 11106

How to capture method arguments sent to a stubbed method using Mockito

Here's my stubbed method:

 Mockito.when(restTemplateMock.postForEntity(anyString(), any(), eq(String.class))).thenReturn(new ResponseEntity<String>(HttpStatus.OK));

How can I grab hold of the argument sent to this method? The above postForEntity method has 3 arguments.

Upvotes: 3

Views: 1226

Answers (1)

Adam
Adam

Reputation: 2269

final ArgumentCaptor<String> arg1Captor = ArgumentCaptor.forClass(String.class);
final ArgumentCaptor<Object> arg2Captor = ArgumentCaptor.forClass(Object.class);
final ArgumentCaptor<Class<?>> arg3Captor = ArgumentCaptor.forClass(Class.class);

Mockito.verify(restTemplateMock).postForEntity(arg1Captor, arg2Captor, arg3Captor);

Assert.assertEquals("Whatever", arg1Captor.getValue());

Upvotes: 3

Related Questions