}
private void checkFailAction(ControllerDef controller, String name, Map<String, Object> args, State expState,
Class<? extends Exception> error, String errorMessage) throws DefinitionNotFoundException {
Action action = controller.createAction(name, args);
action.run();
assertEquals(name + " State", expState, action.getState());
assertEquals(name + " expected an error", 1, action.getErrors().size());
checkExceptionContains((Exception) action.getErrors().get(0), error, errorMessage);
assertEquals(name + " return", null, action.getReturnValue());
}