AMLSim
/
jars
/junit5-r5.10.2
/documentation
/src
/test
/java
/example
/testkit
/EngineTestKitAllEventsDemo.java
/* | |
* Copyright 2015-2023 the original author or authors. | |
* | |
* All rights reserved. This program and the accompanying materials are | |
* made available under the terms of the Eclipse Public License v2.0 which | |
* accompanies this distribution and is available at | |
* | |
* https://www.eclipse.org/legal/epl-v20.html | |
*/ | |
package example.testkit; | |
// @formatter:off | |
// tag::user_guide[] | |
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectClass; | |
import static org.junit.platform.testkit.engine.EventConditions.abortedWithReason; | |
import static org.junit.platform.testkit.engine.EventConditions.container; | |
import static org.junit.platform.testkit.engine.EventConditions.engine; | |
import static org.junit.platform.testkit.engine.EventConditions.event; | |
import static org.junit.platform.testkit.engine.EventConditions.finishedSuccessfully; | |
import static org.junit.platform.testkit.engine.EventConditions.finishedWithFailure; | |
import static org.junit.platform.testkit.engine.EventConditions.skippedWithReason; | |
import static org.junit.platform.testkit.engine.EventConditions.started; | |
import static org.junit.platform.testkit.engine.EventConditions.test; | |
import static org.junit.platform.testkit.engine.TestExecutionResultConditions.instanceOf; | |
import static org.junit.platform.testkit.engine.TestExecutionResultConditions.message; | |
import java.io.StringWriter; | |
import java.io.Writer; | |
import example.ExampleTestCase; | |
import org.junit.jupiter.api.Test; | |
import org.junit.platform.testkit.engine.EngineTestKit; | |
import org.opentest4j.TestAbortedException; | |
class EngineTestKitAllEventsDemo { | |
void verifyAllJupiterEvents() { | |
Writer writer = // create a java.io.Writer for debug output | |
// end::user_guide[] | |
// For the demo, we are swallowing the debug output. | |
new StringWriter(); | |
// tag::user_guide[] | |
EngineTestKit.engine("junit-jupiter") // <1> | |
.selectors(selectClass(ExampleTestCase.class)) // <2> | |
.execute() // <3> | |
.allEvents() // <4> | |
.debug(writer) // <5> | |
.assertEventsMatchExactly( // <6> | |
event(engine(), started()), | |
event(container(ExampleTestCase.class), started()), | |
event(test("skippedTest"), skippedWithReason("for demonstration purposes")), | |
event(test("succeedingTest"), started()), | |
event(test("succeedingTest"), finishedSuccessfully()), | |
event(test("abortedTest"), started()), | |
event(test("abortedTest"), | |
abortedWithReason(instanceOf(TestAbortedException.class), | |
message(m -> m.contains("abc does not contain Z")))), | |
event(test("failingTest"), started()), | |
event(test("failingTest"), finishedWithFailure( | |
instanceOf(ArithmeticException.class), message("/ by zero"))), | |
event(container(ExampleTestCase.class), finishedSuccessfully()), | |
event(engine(), finishedSuccessfully())); | |
} | |
} | |
// end::user_guide[] | |
// @formatter:on | |