Skip to content

Commit dda6876

Browse files
authored
fix(junit-plaftform): fix missed steps in case of beforeall failure (fixes #443, via #878)
1 parent ed8f7bf commit dda6876

6 files changed

Lines changed: 75 additions & 12 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
# Allure Java Integrations
1212

13-
[![Build](https://github.com/allure-framework/allure-java/actions/workflows/build.yaml/badge.svg)](https://github.com/allure-framework/allure-java/actions/workflows/build.yaml)
13+
[![Build](https://github.com/allure-framework/allure-java/actions/workflows/build.yml/badge.svg)](https://github.com/allure-framework/allure-java/actions/workflows/build.yml)
1414
[![Allure Java](https://img.shields.io/github/release/allure-framework/allure-java.svg)](https://github.com/allure-framework/allure-java/releases/latest)
1515

1616
The repository contains new versions of adaptors for JVM-based test frameworks.

allure-junit-platform/src/main/java/io/qameta/allure/junitplatform/AllureJunitPlatform.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -400,9 +400,7 @@ private void stopTestContainer(final TestIdentifier testIdentifier) {
400400
.distinct()
401401
.collect(Collectors.toCollection(ArrayList::new));
402402

403-
if (testIdentifier.isTest()) {
404-
getTest(testIdentifier).ifPresent(children::add);
405-
}
403+
getTest(testIdentifier).ifPresent(children::add);
406404

407405
getLifecycle().updateTestContainer(uuid, container -> container.setChildren(children));
408406
getLifecycle().stopTestContainer(uuid);

allure-junit5/src/test/java/io/qameta/allure/junit5/AllureJunit5Test.java

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,10 @@
2121
import io.qameta.allure.Step;
2222
import io.qameta.allure.aspects.AttachmentsAspects;
2323
import io.qameta.allure.aspects.StepsAspects;
24-
import io.qameta.allure.junit5.features.AfterEachFixtureFailureSupport;
24+
import io.qameta.allure.junit5.features.AfterEachFixtureBrokenSupport;
2525
import io.qameta.allure.junit5.features.AllFixtureSupport;
26-
import io.qameta.allure.junit5.features.BeforeEachFixtureFailureSupport;
26+
import io.qameta.allure.junit5.features.BeforeAllFixtureFailureSupport;
27+
import io.qameta.allure.junit5.features.BeforeEachFixtureBrokenSupport;
2728
import io.qameta.allure.junit5.features.EachFixtureSupport;
2829
import io.qameta.allure.junit5.features.ParameterisedBlankParameterValueTests;
2930
import io.qameta.allure.junit5.features.ParameterisedPrimitivesTests;
@@ -344,8 +345,8 @@ void shouldSupportStepsInAfterAllFixture() {
344345
}
345346

346347
@Test
347-
void shouldSupportFailureInBeforeEachFixture() {
348-
final AllureResults results = runClasses(BeforeEachFixtureFailureSupport.class);
348+
void shouldSupportBrokenInBeforeEachFixture() {
349+
final AllureResults results = runClasses(BeforeEachFixtureBrokenSupport.class);
349350

350351
assertThat(results.getTestResults())
351352
.hasSize(1);
@@ -367,8 +368,8 @@ void shouldSupportFailureInBeforeEachFixture() {
367368
}
368369

369370
@Test
370-
void shouldSupportFailureInAfterEachFixture() {
371-
final AllureResults results = runClasses(AfterEachFixtureFailureSupport.class);
371+
void shouldSupportBrokenInAfterEachFixture() {
372+
final AllureResults results = runClasses(AfterEachFixtureBrokenSupport.class);
372373

373374
assertThat(results.getTestResults())
374375
.hasSize(1);
@@ -389,6 +390,29 @@ void shouldSupportFailureInAfterEachFixture() {
389390
);
390391
}
391392

393+
@Test
394+
void shouldSupportFailureInBeforeAllFixture() {
395+
final AllureResults results = runClasses(BeforeAllFixtureFailureSupport.class);
396+
397+
assertThat(results.getTestResults())
398+
.hasSize(1);
399+
400+
final TestResult testResult = results.getTestResults().get(0);
401+
402+
assertThat(results.getTestResultContainers())
403+
.filteredOn("name", testResult.getName())
404+
.flatExtracting(TestResultContainer::getChildren)
405+
.contains(testResult.getUuid());
406+
407+
assertThat(results.getTestResultContainers())
408+
.filteredOn("name", testResult.getName())
409+
.flatExtracting(TestResultContainer::getBefores)
410+
.extracting(FixtureResult::getName, FixtureResult::getStatus, f -> f.getStatusDetails().getMessage())
411+
.containsExactly(
412+
tuple("setUpAll", Status.FAILED, "Make the setUpAll failed")
413+
);
414+
}
415+
392416
@Step("Run classes {classes}")
393417
private AllureResults runClasses(final Class<?>... classes) {
394418
final AllureResultsWriterStub writerStub = new AllureResultsWriterStub();

allure-junit5/src/test/java/io/qameta/allure/junit5/features/AfterEachFixtureFailureSupport.java renamed to allure-junit5/src/test/java/io/qameta/allure/junit5/features/AfterEachFixtureBrokenSupport.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
/**
2323
* @author charlie (Dmitry Baev).
2424
*/
25-
public class AfterEachFixtureFailureSupport {
25+
public class AfterEachFixtureBrokenSupport {
2626

2727
@AfterEach
2828
void tearDown() {
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
/*
2+
* Copyright 2020 Qameta Software OÜ
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
package io.qameta.allure.junit5.features;
17+
18+
import io.qameta.allure.Allure;
19+
import org.junit.jupiter.api.BeforeAll;
20+
import org.junit.jupiter.api.Test;
21+
22+
import static org.assertj.core.api.Assertions.fail;
23+
24+
/**
25+
* @author prafair (Pavel Novikov).
26+
*/
27+
public class BeforeAllFixtureFailureSupport {
28+
29+
@BeforeAll
30+
static void setUpAll() {
31+
Allure.step("setUpAll 1");
32+
Allure.step("setUpAll 2");
33+
fail("Make the setUpAll failed");
34+
}
35+
36+
@Test
37+
void test1() {
38+
Allure.step("test1 1");
39+
Allure.step("test1 2");
40+
}
41+
}

allure-junit5/src/test/java/io/qameta/allure/junit5/features/BeforeEachFixtureFailureSupport.java renamed to allure-junit5/src/test/java/io/qameta/allure/junit5/features/BeforeEachFixtureBrokenSupport.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
/**
2323
* @author charlie (Dmitry Baev).
2424
*/
25-
public class BeforeEachFixtureFailureSupport {
25+
public class BeforeEachFixtureBrokenSupport {
2626

2727
@BeforeEach
2828
void setUp() {

0 commit comments

Comments
 (0)