diff --git a/allure-testng/src/main/java/io/qameta/allure/testng/AllureTestNg.java b/allure-testng/src/main/java/io/qameta/allure/testng/AllureTestNg.java index 63b1ef37f..732bad8e0 100644 --- a/allure-testng/src/main/java/io/qameta/allure/testng/AllureTestNg.java +++ b/allure-testng/src/main/java/io/qameta/allure/testng/AllureTestNg.java @@ -84,6 +84,7 @@ import static java.lang.Math.min; import static java.nio.charset.StandardCharsets.UTF_8; import static java.util.Comparator.comparing; +import static java.util.Objects.nonNull; import static java.util.stream.IntStream.range; /** @@ -181,12 +182,9 @@ public void onStart(final ITestContext context) { } protected void createFakeResult(final ITestContext context, final ITestNGMethod method) { - final org.testng.internal.TestResult result = new org.testng.internal.TestResult( - new Object(), method, null, context - ); final String uuid = UUID.randomUUID().toString(); final String parentUuid = UUID.randomUUID().toString(); - startTestCase(result, parentUuid, uuid); + startTestCase(context, method, method.getTestClass(), new Object[]{}, parentUuid, uuid); stopTestCase(uuid, null, null); } @@ -250,11 +248,26 @@ public void onTestStart(final ITestResult testResult) { )); } - @SuppressWarnings({"Indentation", "PMD.ExcessiveMethodLength", "deprecation"}) protected void startTestCase(final ITestResult testResult, final String parentUuid, final String uuid) { - final ITestNGMethod method = testResult.getMethod(); + startTestCase( + testResult.getTestContext(), + testResult.getMethod(), + testResult.getTestClass(), + testResult.getParameters(), + parentUuid, + uuid + ); + } + + @SuppressWarnings({"Indentation", "PMD.ExcessiveMethodLength", "deprecation"}) + protected void startTestCase(final ITestContext context, + final ITestNGMethod method, + final IClass iClass, + final Object[] params, + final String parentUuid, + final String uuid) { final ITestClass testClass = method.getTestClass(); final List