Give it a try with this order. Mockito.when(serviceMock.methodname(params)).thenReturn(responseType); String json = new Gson().toJson(param); MockHttpServletRequestBuilder requestBuilder = MockMvcRequestBuilders.post(BASE_ENDPOINT) .content(json) .contentType(MediaType.APPLICATION_JSON) .accept(MediaType.APPLICATION_JSON) .characterEncoding(CharEncoding.UTF_8); ResultActions resultActions = this.mockMvc.perform(requestBuilder); resultActions .andExpect(status().isOk()) .andExpect( MockMvcResultMatchers.jsonPath("$.fields").value(param.value()))); verify(serviceMock, times(1)).method(param);