11package io .qameta .allure .junitplatform ;
22
3+ import io .qameta .allure .Allure ;
34import io .qameta .allure .AllureLifecycle ;
5+ import io .qameta .allure .Epic ;
46import io .qameta .allure .aspects .AttachmentsAspects ;
57import io .qameta .allure .aspects .StepsAspects ;
68import io .qameta .allure .junitplatform .features .BrokenTests ;
79import io .qameta .allure .junitplatform .features .DisabledTests ;
810import io .qameta .allure .junitplatform .features .DynamicTests ;
911import io .qameta .allure .junitplatform .features .FailedTests ;
12+ import io .qameta .allure .junitplatform .features .OneTest ;
1013import io .qameta .allure .junitplatform .features .ParameterisedTests ;
1114import io .qameta .allure .junitplatform .features .PassedTests ;
1215import io .qameta .allure .junitplatform .features .SkippedTests ;
2932import org .junit .platform .engine .discovery .DiscoverySelectors ;
3033import org .junit .platform .launcher .Launcher ;
3134import org .junit .platform .launcher .LauncherDiscoveryRequest ;
35+ import org .junit .platform .launcher .core .LauncherConfig ;
3236import org .junit .platform .launcher .core .LauncherDiscoveryRequestBuilder ;
3337import org .junit .platform .launcher .core .LauncherFactory ;
3438
3842import static io .qameta .allure .junitplatform .features .TaggedTests .CLASS_TAG ;
3943import static io .qameta .allure .junitplatform .features .TaggedTests .METHOD_TAG ;
4044import static org .assertj .core .api .Assertions .assertThat ;
45+ import static org .assertj .core .api .Assertions .tuple ;
4146
4247/**
4348 * @author charlie (Dmitry Baev).
4449 */
50+ @ SuppressWarnings ("unchecked" )
51+ @ Epic ("Allure Junit Platform Integration" )
4552public class AllureJunitPlatformTest {
4653
4754 private AllureResultsWriterStub results ;
@@ -52,8 +59,42 @@ public class AllureJunitPlatformTest {
5259 void setUp () {
5360 this .results = new AllureResultsWriterStub ();
5461 this .lifecycle = new AllureLifecycle (results );
55- StepsAspects .setLifecycle (lifecycle );
56- AttachmentsAspects .setLifecycle (lifecycle );
62+ }
63+
64+ @ Test
65+ void shouldSetFullName () {
66+ runClasses (PassedTests .class );
67+ final List <TestResult > testResults = results .getTestResults ();
68+ assertThat (testResults )
69+ .extracting (TestResult ::getFullName )
70+ .containsExactlyInAnyOrder (
71+ "io.qameta.allure.junitplatform.features.PassedTests.second" ,
72+ "io.qameta.allure.junitplatform.features.PassedTests.first" ,
73+ "io.qameta.allure.junitplatform.features.PassedTests.third"
74+ );
75+ }
76+
77+ @ Test
78+ void shouldSetExecutionLabels () {
79+ runClasses (OneTest .class );
80+ final List <TestResult > testResults = results .getTestResults ();
81+ assertThat (testResults )
82+ .flatExtracting (TestResult ::getLabels )
83+ .extracting (Label ::getName )
84+ .contains ("host" , "thread" );
85+ }
86+
87+ @ Test
88+ void shouldSetSourceLabels () {
89+ runClasses (OneTest .class );
90+ final List <TestResult > testResults = results .getTestResults ();
91+ assertThat (testResults )
92+ .flatExtracting (TestResult ::getLabels )
93+ .extracting (Label ::getName , Label ::getValue )
94+ .contains (
95+ tuple ("methodName" , "single" ),
96+ tuple ("className" , "io.qameta.allure.junitplatform.features.OneTest" )
97+ );
5798 }
5899
59100 @ Test
@@ -288,7 +329,22 @@ private void runClasses(Class<?>... classes) {
288329 .selectors (classSelectors )
289330 .build ();
290331
291- final Launcher launcher = LauncherFactory .create ();
292- launcher .execute (request , new AllureJunitPlatform (lifecycle ));
332+ final LauncherConfig config = LauncherConfig .builder ()
333+ .enableTestExecutionListenerAutoRegistration (false )
334+ .addTestExecutionListeners (new AllureJunitPlatform (lifecycle ))
335+ .build ();
336+ final Launcher launcher = LauncherFactory .create (config );
337+
338+ final AllureLifecycle defaultLifecycle = Allure .getLifecycle ();
339+ try {
340+ Allure .setLifecycle (lifecycle );
341+ StepsAspects .setLifecycle (lifecycle );
342+ AttachmentsAspects .setLifecycle (lifecycle );
343+ launcher .execute (request );
344+ } finally {
345+ Allure .setLifecycle (defaultLifecycle );
346+ StepsAspects .setLifecycle (defaultLifecycle );
347+ AttachmentsAspects .setLifecycle (defaultLifecycle );
348+ }
293349 }
294350}
0 commit comments