allure-framework / allure-java

Allure integrations for Java test frameworks
Apache License 2.0
357 stars 227 forks source link

Annotation @Param doesn't work with TestNG framework #893

Open DLukov opened 1 year ago

DLukov commented 1 year ago

Describe the bug Annotation @Param doesn't work with TestNG framework

To Reproduce

  1. Mark data provider parameters with @Param annotation
  2. Run test
  3. See allure report
public class AllureParameterizedTest {
    @DataProvider
    public static Object[][] numbers() {
        return new Object[][] {
                {1, 1, 2},
                {2, 2, 4}
        };
    }
    @Test(dataProvider = "numbers")
    public void sumTest(
            @Param("First Number") Integer a,
            @Param("Second Number") Integer b,
            @Param(value = "Result", excluded = true) Integer r) { 

        step(("Arrange"), () ->{
            step(String.format("Take collection №[%s] of parameters", a));
        });
        step(("Act"), () -> {
            step(String.format("Add [%s]", a) + String.format("to [%s]", b));
        });
        step(("Assert"), () -> {
            step("Compare the sum");
            assert a + b == r;
        });
    }

}

Actual behavior Params in allure report marked as arg0, arg1, etc.

Expected behavior Params marked with text from @Param annotation

Screenshots image

Versions:

sleepstream commented 1 year ago

io.qameta.allure 2.21.0 testng 7.7.0

but in report has correct names of parameters изображение

but i have flag exclude = true - and it's not working for me