@Test
public void testMethodArgumentNotValidExceptionHandlerWithErrors() throws NoSuchMethodException, SecurityException {

	final BindingResult bindingResult = Mockito.mock(BindingResult.class);
	final MethodArgumentNotValidException ex = Mockito.mock(MethodArgumentNotValidException.class);
	Mockito.when(ex.getBindingResult()).thenReturn(bindingResult);
	
	final MultiExecuteOutput expected = new MultiExecuteOutput(sessionid);
	
	List<ObjectError> errors = new ArrayList<>();
	errors.add(new ObjectError("dashboard", new String[] {"1"}, null, "dashboard-error"));
	errors.add(new ObjectError("home", new String[] {"2"}, null, "home-error"));
	
	Mockito.when(bindingResult.getAllErrors()).thenReturn(errors);
	Mockito.when(this.interceptor.handleResponse(Mockito.isA(ExecuteOutput.class))).thenReturn(expected);
	final MultiExecuteOutput actual = this.testee.exception(ex);
	
	final ArgumentCaptor<ExecuteOutput> respCaptor = ArgumentCaptor.forClass(ExecuteOutput.class);
	Mockito.verify(bindingResult, Mockito.times(2)).getAllErrors();
	Mockito.verify(this.interceptor, Mockito.only()).handleResponse(respCaptor.capture());
	
	Assert.assertEquals(expected, actual);
	Assert.assertNotNull(respCaptor.getValue().getValidationResult());
	Assert.assertNotNull(respCaptor.getValue().getValidationResult().getErrors());
	Assert.assertEquals("dashboard", respCaptor.getValue().getValidationResult().getErrors().get(0).getModelAlias());
	Assert.assertEquals("dashboard-error", respCaptor.getValue().getValidationResult().getErrors().get(0).getMsg());
	Assert.assertEquals("1", respCaptor.getValue().getValidationResult().getErrors().get(0).getCode());
	Assert.assertEquals("home", respCaptor.getValue().getValidationResult().getErrors().get(1).getModelAlias());
	Assert.assertEquals("home-error", respCaptor.getValue().getValidationResult().getErrors().get(1).getMsg());
	Assert.assertEquals("2", respCaptor.getValue().getValidationResult().getErrors().get(1).getCode());
}