@Test
public void checkContinueExecutionOnActionException() throws Exception {

    IObject env = mock(IObject.class);
    IObject context = mock(IObject.class);
    List<IAction> finalActions = new ArrayList<IAction>();
    when(env.getValue(new FieldName("context"))).thenReturn(context);
    Checker checker1 = new Checker();
    Checker checker2 = new Checker();
    IAction action1 = new IAction() {
        @Override
        public void execute(Object actingObject) throws ActionExecuteException, InvalidArgumentException {
            checker1.setChecked(true);
            throw new ActionExecuteException("something");
        }
    };
    IAction action2 = new IAction() {
        @Override
        public void execute(Object actingObject) throws ActionExecuteException, InvalidArgumentException {
            checker2.setChecked(true);
        }
    };
    finalActions.add(action1);
    finalActions.add(action2);
    when(context.getValue(new FieldName("finalActions"))).thenReturn(finalActions);
    ITask task = new FinalTask(env);
    // finalAction contains one action
    task.execute();
    assertEquals(checker1.isChecked(), true);
    assertEquals(checker2.isChecked(), true);
}