@Override public Object answer(org.mockito.invocation.InvocationOnMock invocation) throws Throwable { for (Object argument : invocation.getArguments()) { if (argument instanceof LifecycleMethodExecutor) { ((LifecycleMethodExecutor) argument).invoke(); } else if (argument instanceof TestMethodExecutor) { ((TestMethodExecutor) argument).invoke(); } else if (argument instanceof TestLifecycleEvent) { ((TestLifecycleEvent) argument).getExecutor().invoke(); } } return null; } }
/** * Invoke method after enrichment. Inexplicably, the {@code @Before} * and {@code @After} methods are not called when running this * executor. Calling them manually for now. * * @param testMethodExecutor Method executor. * @return Test result. */ public TestResult invoke(TestMethodExecutor testMethodExecutor) { RequestContextController controller = enricher.getRequestContextController(); try { controller.activate(); Object object = testMethodExecutor.getInstance(); Method method = testMethodExecutor.getMethod(); LOGGER.info("Invoking '" + method + "' on " + object); enricher.enrich(object); invokeAnnotated(object, Before.class); testMethodExecutor.invoke(enricher.resolve(method)); invokeAnnotated(object, After.class); } catch (Throwable t) { return TestResult.failed(t); } finally { controller.deactivate(); } return TestResult.passed(); }
@Override public Object answer(org.mockito.invocation.InvocationOnMock invocation) throws Throwable { for (Object argument : invocation.getArguments()) { if (argument instanceof LifecycleMethodExecutor) { ((LifecycleMethodExecutor) argument).invoke(); } else if (argument instanceof TestMethodExecutor) { ((TestMethodExecutor) argument).invoke(); } } return null; } }
@Override public Object answer(org.mockito.invocation.InvocationOnMock invocation) throws Throwable { for (Object argument : invocation.getArguments()) { if (argument instanceof LifecycleMethodExecutor) { ((LifecycleMethodExecutor) argument).invoke(); } else if (argument instanceof TestMethodExecutor) { ((TestMethodExecutor) argument).invoke(); } } return null; } }
@Override public Object answer(org.mockito.invocation.InvocationOnMock invocation) throws Throwable { wasCalled(cycle); for (Object argument : invocation.getArguments()) { if (argument instanceof LifecycleMethodExecutor) { ((LifecycleMethodExecutor) argument).invoke(); } else if (argument instanceof TestMethodExecutor) { ((TestMethodExecutor) argument).invoke(); } } return null; } }
@Override public Object answer(org.mockito.invocation.InvocationOnMock invocation) throws Throwable { for (Object argument : invocation.getArguments()) { if (argument instanceof LifecycleMethodExecutor) { ((LifecycleMethodExecutor) argument).invoke(); } else if (argument instanceof TestMethodExecutor) { ((TestMethodExecutor) argument).invoke(); } else if (argument instanceof TestLifecycleEvent) { ((TestLifecycleEvent) argument).getExecutor().invoke(); } } return null; } }
@Override public Object answer(org.mockito.invocation.InvocationOnMock invocation) throws Throwable { for (Object argument : invocation.getArguments()) { if (argument instanceof LifecycleMethodExecutor) { ((LifecycleMethodExecutor) argument).invoke(); } else if (argument instanceof TestMethodExecutor) { ((TestMethodExecutor) argument).invoke(); } else if (argument instanceof TestLifecycleEvent) { ((TestLifecycleEvent) argument).getExecutor().invoke(); } } return null; } }
@Override public Object answer(org.mockito.invocation.InvocationOnMock invocation) throws Throwable { for (Object argument : invocation.getArguments()) { if (argument instanceof LifecycleMethodExecutor) { ((LifecycleMethodExecutor) argument).invoke(); } else if (argument instanceof TestMethodExecutor) { ((TestMethodExecutor) argument).invoke(); } else if (argument instanceof TestLifecycleEvent) { ((TestLifecycleEvent) argument).getExecutor().invoke(); } } return null; } }
public void execute(@Observes Test event) throws Exception { TestResult result = TestResult.passed(); try { event.getTestMethodExecutor().invoke( enrichArguments( event.getTestMethod(), serviceLoader.get().all(TestEnricher.class))); } catch (Throwable e) { result = TestResult.failed(e); } finally { result.setEnd(System.currentTimeMillis()); } testResult.set(result); }
public void execute(@Observes Test event) throws Exception { TestResult result = new TestResult(); try { event.getTestMethodExecutor().invoke( enrichArguments( event.getTestMethod(), serviceLoader.get().all(TestEnricher.class))); result.setStatus(Status.PASSED); } catch (Throwable e) { result.setStatus(Status.FAILED); result.setThrowable(e); } finally { result.setEnd(System.currentTimeMillis()); } testResult.set(result); }
public void execute(@Observes Test event) throws Exception { TestResult result = new TestResult(); try { event.getTestMethodExecutor().invoke( enrichArguments( event.getTestMethod(), serviceLoader.get().all(TestEnricher.class))); result.setStatus(Status.PASSED); } catch (Throwable e) { result.setStatus(Status.FAILED); result.setThrowable(e); } finally { result.setEnd(System.currentTimeMillis()); } testResult.set(result); }
public void execute(@Observes Test event) throws Exception { TestResult result = new TestResult(); try { event.getTestMethodExecutor().invoke( enrichArguments( event.getTestMethod(), serviceLoader.get().all(TestEnricher.class))); result.setStatus(Status.PASSED); } catch (Throwable e) { result.setStatus(Status.FAILED); result.setThrowable(e); } finally { result.setEnd(System.currentTimeMillis()); } testResult.set(result); }
public void execute(@Observes LocalExecutionEvent event) throws Exception { TestResult result = new TestResult(); try { event.getExecutor().invoke( enrichArguments( event.getExecutor().getMethod(), serviceLoader.get().all(TestEnricher.class))); result.setStatus(Status.PASSED); } catch (Throwable e) { result.setStatus(Status.FAILED); result.setThrowable(e); } finally { result.setEnd(System.currentTimeMillis()); } testResult.set(result); }
public void execute(@Observes LocalExecutionEvent event) throws Exception { TestResult result = new TestResult(); try { event.getExecutor().invoke( enrichArguments( event.getExecutor().getMethod(), serviceLoader.get().all(TestEnricher.class))); result.setStatus(Status.PASSED); } catch (Throwable e) { result.setStatus(Status.FAILED); result.setThrowable(e); } finally { result.setEnd(System.currentTimeMillis()); } testResult.set(result); }
@Test public void shouldReturnFailedOnException() throws Throwable { bind(ApplicationScoped.class, ServiceLoader.class, serviceLoader); Exception exception = new Exception(); Mockito.when(testExecutor.getInstance()).thenReturn(this); Mockito.when(testExecutor.getMethod()).thenReturn( getTestMethod("shouldReturnFailedOnException")); Mockito.doThrow(exception).when(testExecutor).invoke(); fire(new LocalExecutionEvent(testExecutor)); TestResult result = getManager().resolve(TestResult.class); Assert.assertNotNull( "Should have set result", result); Assert.assertEquals( "Should have failed test", TestResult.Status.FAILED, result.getStatus()); Assert.assertEquals( "Should have set failed cause", exception, result.getThrowable()); }
@Test public void shouldReturnFailedOnException() throws Throwable { bind(ApplicationScoped.class, ServiceLoader.class, serviceLoader); Exception exception = new Exception(); Mockito.when(testExecutor.getInstance()).thenReturn(this); Mockito.when(testExecutor.getMethod()).thenReturn( getTestMethod("shouldReturnFailedOnException")); Mockito.doThrow(exception).when(testExecutor).invoke(); fire(new LocalExecutionEvent(testExecutor)); TestResult result = getManager().resolve(TestResult.class); Assert.assertNotNull( "Should have set result", result); Assert.assertEquals( "Should have failed test", TestResult.Status.FAILED, result.getStatus()); Assert.assertEquals( "Should have set failed cause", exception, result.getThrowable()); }