Search in sources :

Example 41 with ExecutionEventRecorder

use of org.junit.platform.engine.test.event.ExecutionEventRecorder in project junit5 by junit-team.

the class OverloadedTestMethodTests method executeTestCaseWithOverloadedMethodsAndThenRerunOnlyOneOfTheMethodsSelectedByUniqueId.

@Test
void executeTestCaseWithOverloadedMethodsAndThenRerunOnlyOneOfTheMethodsSelectedByUniqueId() {
    LauncherDiscoveryRequest request = request().selectors(selectClass(TestCase.class)).build();
    ExecutionEventRecorder eventRecorder1 = executeTests(request);
    // @formatter:off
    assertAll(() -> assertEquals(2, eventRecorder1.getTestStartedCount(), "# tests started"), () -> assertEquals(2, eventRecorder1.getTestSuccessfulCount(), "# tests succeeded"), () -> assertEquals(0, eventRecorder1.getTestFailedCount(), "# tests failed"));
    // @formatter:on
    Optional<ExecutionEvent> first = eventRecorder1.getSuccessfulTestFinishedEvents().stream().filter(event -> event.getTestDescriptor().getUniqueId().toString().contains(TestInfo.class.getName())).findFirst();
    assertTrue(first.isPresent());
    TestIdentifier testIdentifier = TestIdentifier.from(first.get().getTestDescriptor());
    String uniqueId = testIdentifier.getUniqueId();
    request = request().selectors(selectUniqueId(uniqueId)).build();
    ExecutionEventRecorder eventRecorder2 = executeTests(request);
    // @formatter:off
    assertAll(() -> assertEquals(1, eventRecorder2.getTestStartedCount(), "# tests started"), () -> assertEquals(1, eventRecorder2.getTestSuccessfulCount(), "# tests succeeded"), () -> assertEquals(0, eventRecorder2.getTestFailedCount(), "# tests failed"));
    // @formatter:on
    first = eventRecorder2.getSuccessfulTestFinishedEvents().stream().filter(event -> event.getTestDescriptor().getUniqueId().toString().contains(TestInfo.class.getName())).findFirst();
    assertTrue(first.isPresent());
}
Also used : LauncherDiscoveryRequestBuilder.request(org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder.request) DiscoverySelectors.selectMethod(org.junit.platform.engine.discovery.DiscoverySelectors.selectMethod) ExecutionEventRecorder(org.junit.platform.engine.test.event.ExecutionEventRecorder) DiscoverySelectors.selectClass(org.junit.platform.engine.discovery.DiscoverySelectors.selectClass) LauncherDiscoveryRequest(org.junit.platform.launcher.LauncherDiscoveryRequest) TestInfo(org.junit.jupiter.api.TestInfo) Test(org.junit.jupiter.api.Test) TestIdentifier(org.junit.platform.launcher.TestIdentifier) DiscoverySelectors.selectUniqueId(org.junit.platform.engine.discovery.DiscoverySelectors.selectUniqueId) Assertions.assertTrue(org.junit.jupiter.api.Assertions.assertTrue) ExecutionEvent(org.junit.platform.engine.test.event.ExecutionEvent) Optional(java.util.Optional) Assertions.assertAll(org.junit.jupiter.api.Assertions.assertAll) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) LauncherDiscoveryRequest(org.junit.platform.launcher.LauncherDiscoveryRequest) ExecutionEvent(org.junit.platform.engine.test.event.ExecutionEvent) ExecutionEventRecorder(org.junit.platform.engine.test.event.ExecutionEventRecorder) TestInfo(org.junit.jupiter.api.TestInfo) TestIdentifier(org.junit.platform.launcher.TestIdentifier) Test(org.junit.jupiter.api.Test)

Example 42 with ExecutionEventRecorder

use of org.junit.platform.engine.test.event.ExecutionEventRecorder in project junit5 by junit-team.

the class OverloadedTestMethodTests method executeTestCaseWithOverloadedMethodsWithSingleMethodThatAcceptsArgumentsSelectedByFullyQualifedMethodName.

@Test
void executeTestCaseWithOverloadedMethodsWithSingleMethodThatAcceptsArgumentsSelectedByFullyQualifedMethodName() {
    String fqmn = TestCase.class.getName() + "#test(" + TestInfo.class.getName() + ")";
    LauncherDiscoveryRequest request = request().selectors(selectMethod(fqmn)).build();
    ExecutionEventRecorder eventRecorder = executeTests(request);
    // @formatter:off
    assertAll(() -> assertEquals(1, eventRecorder.getTestStartedCount(), "# tests started"), () -> assertEquals(1, eventRecorder.getTestSuccessfulCount(), "# tests succeeded"), () -> assertEquals(0, eventRecorder.getTestFailedCount(), "# tests failed"));
    // @formatter:on
    Optional<ExecutionEvent> first = eventRecorder.getSuccessfulTestFinishedEvents().stream().filter(event -> event.getTestDescriptor().getUniqueId().toString().contains(TestInfo.class.getName())).findFirst();
    assertTrue(first.isPresent());
}
Also used : LauncherDiscoveryRequestBuilder.request(org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder.request) DiscoverySelectors.selectMethod(org.junit.platform.engine.discovery.DiscoverySelectors.selectMethod) ExecutionEventRecorder(org.junit.platform.engine.test.event.ExecutionEventRecorder) DiscoverySelectors.selectClass(org.junit.platform.engine.discovery.DiscoverySelectors.selectClass) LauncherDiscoveryRequest(org.junit.platform.launcher.LauncherDiscoveryRequest) TestInfo(org.junit.jupiter.api.TestInfo) Test(org.junit.jupiter.api.Test) TestIdentifier(org.junit.platform.launcher.TestIdentifier) DiscoverySelectors.selectUniqueId(org.junit.platform.engine.discovery.DiscoverySelectors.selectUniqueId) Assertions.assertTrue(org.junit.jupiter.api.Assertions.assertTrue) ExecutionEvent(org.junit.platform.engine.test.event.ExecutionEvent) Optional(java.util.Optional) Assertions.assertAll(org.junit.jupiter.api.Assertions.assertAll) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) LauncherDiscoveryRequest(org.junit.platform.launcher.LauncherDiscoveryRequest) ExecutionEvent(org.junit.platform.engine.test.event.ExecutionEvent) ExecutionEventRecorder(org.junit.platform.engine.test.event.ExecutionEventRecorder) TestInfo(org.junit.jupiter.api.TestInfo) Test(org.junit.jupiter.api.Test)

Example 43 with ExecutionEventRecorder

use of org.junit.platform.engine.test.event.ExecutionEventRecorder in project junit5 by junit-team.

the class StandardTestClassTests method moreThanOneTestClassIsExecuted.

@Test
void moreThanOneTestClassIsExecuted() {
    LauncherDiscoveryRequest request = request().selectors(selectClass(FirstOfTwoTestCases.class), selectClass(SecondOfTwoTestCases.class)).build();
    ExecutionEventRecorder eventRecorder = executeTests(request);
    assertEquals(6, eventRecorder.getTestStartedCount(), "# tests started");
    assertEquals(5, eventRecorder.getTestSuccessfulCount(), "# tests succeeded");
    assertEquals(1, eventRecorder.getTestFailedCount(), "# tests failed");
    assertEquals(3, eventRecorder.getContainerStartedCount(), "# containers started");
    assertEquals(3, eventRecorder.getContainerFinishedCount(), "# containers finished");
}
Also used : LauncherDiscoveryRequest(org.junit.platform.launcher.LauncherDiscoveryRequest) ExecutionEventRecorder(org.junit.platform.engine.test.event.ExecutionEventRecorder) Test(org.junit.jupiter.api.Test)

Example 44 with ExecutionEventRecorder

use of org.junit.platform.engine.test.event.ExecutionEventRecorder in project junit5 by junit-team.

the class StandardTestClassTests method testsFailWhenAfterEachFails.

@Test
void testsFailWhenAfterEachFails() {
    ExecutionEventRecorder eventRecorder = executeTestsForClass(TestCaseWithFailingAfter.class);
    assertEquals(1, eventRecorder.getTestStartedCount(), "# tests started");
    assertEquals(0, eventRecorder.getTestSuccessfulCount(), "# tests succeeded");
    assertEquals(1, eventRecorder.getTestFailedCount(), "# tests failed");
    assertEquals(2, eventRecorder.getContainerStartedCount(), "# containers started");
    assertEquals(2, eventRecorder.getContainerFinishedCount(), "# containers finished");
    assertTrue(TestCaseWithFailingAfter.testExecuted, "test executed?");
}
Also used : ExecutionEventRecorder(org.junit.platform.engine.test.event.ExecutionEventRecorder) Test(org.junit.jupiter.api.Test)

Example 45 with ExecutionEventRecorder

use of org.junit.platform.engine.test.event.ExecutionEventRecorder in project junit5 by junit-team.

the class StandardTestClassTests method testsFailWhenBeforeEachFails.

@Test
void testsFailWhenBeforeEachFails() {
    ExecutionEventRecorder eventRecorder = executeTestsForClass(TestCaseWithFailingBefore.class);
    assertEquals(2, eventRecorder.getTestStartedCount(), "# tests started");
    assertEquals(0, eventRecorder.getTestSuccessfulCount(), "# tests succeeded");
    assertEquals(2, eventRecorder.getTestFailedCount(), "# tests failed");
    assertEquals(2, eventRecorder.getContainerStartedCount(), "# containers started");
    assertEquals(2, eventRecorder.getContainerFinishedCount(), "# containers finished");
    assertEquals(2, TestCaseWithFailingBefore.countBefore, "# before each calls");
}
Also used : ExecutionEventRecorder(org.junit.platform.engine.test.event.ExecutionEventRecorder) Test(org.junit.jupiter.api.Test)

Aggregations

ExecutionEventRecorder (org.junit.platform.engine.test.event.ExecutionEventRecorder)114 Test (org.junit.jupiter.api.Test)104 LauncherDiscoveryRequest (org.junit.platform.launcher.LauncherDiscoveryRequest)74 DynamicTest (org.junit.jupiter.api.DynamicTest)12 DynamicTest.dynamicTest (org.junit.jupiter.api.DynamicTest.dynamicTest)12 DiscoverySelectors.selectMethod (org.junit.platform.engine.discovery.DiscoverySelectors.selectMethod)12 Method (java.lang.reflect.Method)10 TestDescriptor (org.junit.platform.engine.TestDescriptor)8 IOException (java.io.IOException)6 DiscoverySelectors.selectUniqueId (org.junit.platform.engine.discovery.DiscoverySelectors.selectUniqueId)5 Assertions.assertEquals (org.junit.jupiter.api.Assertions.assertEquals)4 Assertions.assertTrue (org.junit.jupiter.api.Assertions.assertTrue)4 TestInfo (org.junit.jupiter.api.TestInfo)4 UniqueId (org.junit.platform.engine.UniqueId)4 JupiterTestEngine (org.junit.jupiter.engine.JupiterTestEngine)3 LauncherDiscoveryRequestBuilder.request (org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder.request)3 Map (java.util.Map)2 Optional (java.util.Optional)2 Predicate (java.util.function.Predicate)2 Assertions.allOf (org.assertj.core.api.Assertions.allOf)2