From bf7c846996f2162c8687895286a5b1e50f263e23 Mon Sep 17 00:00:00 2001 From: Andy Huynh Date: Thu, 6 Feb 2025 15:56:07 +0100 Subject: [PATCH] feat(#1218): test still fails --- .../citrusframework/DefaultTestCaseTest.java | 35 ++++++++++++++----- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/core/citrus-base/src/test/java/org/citrusframework/DefaultTestCaseTest.java b/core/citrus-base/src/test/java/org/citrusframework/DefaultTestCaseTest.java index 2d619425fc..a47cfd74e4 100644 --- a/core/citrus-base/src/test/java/org/citrusframework/DefaultTestCaseTest.java +++ b/core/citrus-base/src/test/java/org/citrusframework/DefaultTestCaseTest.java @@ -34,7 +34,6 @@ import static org.citrusframework.TestResult.RESULT.FAILURE; import static org.citrusframework.TestResult.success; import static org.citrusframework.util.TestUtils.WAIT_THREAD_PREFIX; -import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.inOrder; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; @@ -207,23 +206,41 @@ public void testTestListenerEventsWithSuccessTestResult() { verifyNoMoreInteractions(testListenerMock); } - @Test(expectedExceptions = TestCaseFailedException.class) + @Test() public void testTestListenerEventsWithFailedTestResult() { TestAction testActionMock = mock(); - doThrow(CitrusRuntimeException.class).when(testActionMock).execute(context); +// doThrow(CitrusRuntimeException.class).when(testActionMock).execute(context); fixture.addTestAction(testActionMock); TestListener testListenerMock = mock(); context.getTestListeners().addTestListener(testListenerMock); + BeforeTest beforeTestMock = mock(); + List beforeTestListMock = new ArrayList<>(){{add(beforeTestMock);}}; + context.setBeforeTest(beforeTestListMock); + List testActionListMock = new ArrayList<>(){{add(testActionMock);}}; + fixture.setFinalActions(testActionListMock); + AfterTest afterTestMock = mock(); + List afterTestListMock = new ArrayList<>(){{add(afterTestMock);}}; + context.setAfterTest(afterTestListMock); +// TestResult testResultMock = mock(); +// fixture.setTestResult(testResultMock); +// when(testResultMock.isSuccess()).thenReturn(false); fixture.doExecute(context); + CitrusRuntimeException citrusRuntimeExceptionMock = mock(); + context.addException(citrusRuntimeExceptionMock); fixture.finish(context); - verify(testListenerMock, times(1)).onTestStart(fixture); - verify(testListenerMock, times(1)).onAfterSequenceBeforeTest(fixture); - verify(testListenerMock, times(1)).onTestFinish(fixture); - verify(testListenerMock, times(1)).onFinalActionsEnd(fixture); - verify(testListenerMock, times(1)).onTestFailure(fixture, fixture.getTestResult().getCause()); - verify(testListenerMock, times(1)).onTestEnd(fixture); + InOrder inOrder = inOrder(testListenerMock); + inOrder.verify(testListenerMock, times(1)).onTestStart(fixture); + inOrder.verify(testListenerMock, times(1)).onBeforeSequenceBeforeTest(fixture); + inOrder.verify(testListenerMock, times(1)).onAfterSequenceBeforeTest(fixture); + inOrder.verify(testListenerMock, times(1)).onTestFinish(fixture); + inOrder.verify(testListenerMock, times(1)).onFinalActionsStart(fixture); + inOrder.verify(testListenerMock, times(1)).onFinalActionsEnd(fixture); + inOrder.verify(testListenerMock, times(1)).onTestFailure(fixture, citrusRuntimeExceptionMock); + inOrder.verify(testListenerMock, times(1)).onBeforeSequenceAfterTest(fixture); + inOrder.verify(testListenerMock, times(1)).onAfterSequenceAfterTest(fixture); + inOrder.verify(testListenerMock, times(1)).onTestEnd(fixture); verifyNoMoreInteractions(testListenerMock); }