use of org.junit.platform.testkit.engine.EngineExecutionResults in project junit5 by junit-team.
the class TimeoutExtensionTests method applyTimeoutOnAnnotatedTestMethodsUsingDisabledOnDebugTimeoutMode.
@Test
@DisplayName("is not applied on annotated @Test methods using timeout mode: disabled")
void applyTimeoutOnAnnotatedTestMethodsUsingDisabledOnDebugTimeoutMode() {
EngineExecutionResults results = executeTests(//
request().selectors(//
selectMethod(TimeoutAnnotatedTestMethodTestCase.class, "testMethod")).configurationParameter(DEFAULT_TEST_METHOD_TIMEOUT_PROPERTY_NAME, //
"42ns").configurationParameter(TIMEOUT_MODE_PROPERTY_NAME, "disabled_on_debug").build());
Execution execution = findExecution(results.testEvents(), "testMethod()");
//
assertThat(execution.getDuration()).isGreaterThanOrEqualTo(//
Duration.ofMillis(10)).isLessThan(Duration.ofSeconds(2));
// Should we test if we're debugging? This test will fail if we are debugging.
if (RuntimeUtils.isDebugMode()) {
//
assertThat(execution.getTerminationInfo().getExecutionResult().getThrowable()).isEmpty();
} else {
//
assertThat(execution.getTerminationInfo().getExecutionResult().getThrowable().orElseThrow()).isInstanceOf(//
TimeoutException.class).hasMessage("testMethod() timed out after 10 milliseconds");
}
}
use of org.junit.platform.testkit.engine.EngineExecutionResults in project junit5 by junit-team.
the class TimeoutExtensionTests method includesClassNameIfMethodIsNotInTestClass.
@Test
@DisplayName("includes fully qualified class name if method is not in the test class")
void includesClassNameIfMethodIsNotInTestClass() {
EngineExecutionResults results = executeTestsForClass(NestedClassWithOuterSetupMethodTestCase.class);
Execution execution = findExecution(results.testEvents(), "testMethod()");
//
assertThat(execution.getDuration()).isGreaterThanOrEqualTo(//
Duration.ofMillis(10)).isLessThan(Duration.ofSeconds(1));
//
assertThat(execution.getTerminationInfo().getExecutionResult().getThrowable().orElseThrow()).isInstanceOf(//
TimeoutException.class).hasMessageEndingWith("$NestedClassWithOuterSetupMethodTestCase#setUp() timed out after 10 milliseconds");
}
use of org.junit.platform.testkit.engine.EngineExecutionResults in project junit5 by junit-team.
the class TimeoutExtensionTests method appliesTimeoutOnAnnotatedBeforeEachMethods.
@Test
@DisplayName("is applied on annotated @BeforeEach methods")
void appliesTimeoutOnAnnotatedBeforeEachMethods() {
EngineExecutionResults results = executeTests(//
request().selectors(//
selectClass(TimeoutAnnotatedBeforeEachMethodTestCase.class)).configurationParameter(DEFAULT_BEFORE_EACH_METHOD_TIMEOUT_PROPERTY_NAME, //
"42ns").build());
Execution execution = findExecution(results.testEvents(), "testMethod()");
//
assertThat(execution.getDuration()).isGreaterThanOrEqualTo(//
Duration.ofMillis(10)).isLessThan(Duration.ofSeconds(1));
//
assertThat(execution.getTerminationInfo().getExecutionResult().getThrowable().orElseThrow()).isInstanceOf(//
TimeoutException.class).hasMessage("setUp() timed out after 10 milliseconds");
}
use of org.junit.platform.testkit.engine.EngineExecutionResults in project junit5 by junit-team.
the class TimeoutExtensionTests method appliesTimeoutOnAnnotatedBeforeAllMethods.
@Test
@DisplayName("is applied on annotated @BeforeAll methods")
void appliesTimeoutOnAnnotatedBeforeAllMethods() {
EngineExecutionResults results = executeTests(//
request().selectors(//
selectClass(TimeoutAnnotatedBeforeAllMethodTestCase.class)).configurationParameter(DEFAULT_BEFORE_ALL_METHOD_TIMEOUT_PROPERTY_NAME, //
"42ns").build());
Execution execution = findExecution(results.containerEvents(), TimeoutAnnotatedBeforeAllMethodTestCase.class.getSimpleName());
//
assertThat(execution.getDuration()).isGreaterThanOrEqualTo(//
Duration.ofMillis(10)).isLessThan(Duration.ofSeconds(1));
//
assertThat(execution.getTerminationInfo().getExecutionResult().getThrowable().orElseThrow()).isInstanceOf(//
TimeoutException.class).hasMessage("setUp() timed out after 10 milliseconds");
}
use of org.junit.platform.testkit.engine.EngineExecutionResults in project junit5 by junit-team.
the class TimeoutExtensionTests method appliesTimeoutOnAnnotatedAfterAllMethods.
@Test
@DisplayName("is applied on annotated @AfterAll methods")
void appliesTimeoutOnAnnotatedAfterAllMethods() {
EngineExecutionResults results = executeTests(//
request().selectors(//
selectClass(TimeoutAnnotatedAfterAllMethodTestCase.class)).configurationParameter(DEFAULT_AFTER_ALL_METHOD_TIMEOUT_PROPERTY_NAME, //
"42ns").build());
Execution execution = findExecution(results.containerEvents(), TimeoutAnnotatedAfterAllMethodTestCase.class.getSimpleName());
//
assertThat(execution.getDuration()).isGreaterThanOrEqualTo(//
Duration.ofMillis(10)).isLessThan(Duration.ofSeconds(1));
//
assertThat(execution.getTerminationInfo().getExecutionResult().getThrowable().orElseThrow()).isInstanceOf(//
TimeoutException.class).hasMessage("tearDown() timed out after 10 milliseconds");
}
Aggregations