Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit b85e6ae

Browse filesBrowse files
committed
Fix for #893 - param annotation name not coming up in report
1 parent 3d361dd commit b85e6ae
Copy full SHA for b85e6ae

File tree

3 files changed

+53
-10
lines changed
Filter options

3 files changed

+53
-10
lines changed

‎allure-testng/src/main/java/io/qameta/allure/testng/AllureTestNg.java

Copy file name to clipboardExpand all lines: allure-testng/src/main/java/io/qameta/allure/testng/AllureTestNg.java
+21-5Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import io.qameta.allure.Muted;
2222
import io.qameta.allure.Severity;
2323
import io.qameta.allure.SeverityLevel;
24+
import io.qameta.allure.Param;
2425
import io.qameta.allure.model.FixtureResult;
2526
import io.qameta.allure.model.Label;
2627
import io.qameta.allure.model.Link;
@@ -74,6 +75,7 @@
7475
import java.util.concurrent.locks.ReentrantReadWriteLock;
7576
import java.util.function.Consumer;
7677
import java.util.stream.Collectors;
78+
import java.util.stream.IntStream;
7779
import java.util.stream.Stream;
7880

7981
import static io.qameta.allure.util.ResultsUtils.ALLURE_ID_LABEL_NAME;
@@ -779,9 +781,23 @@ private List<Parameter> getParameters(final ITestContext context,
779781
.map(Parameters::value)
780782
.orElse(new String[]{});
781783

782-
final String[] reflectionNames = Stream.of(m.getParameters())
783-
.map(java.lang.reflect.Parameter::getName)
784-
.toArray(String[]::new);
784+
final List<Parameter> reflectionNames = IntStream
785+
.range(0, parameters.length)
786+
.mapToObj(index -> {
787+
final Parameter parameter = createParameter(m.getParameters()[index].getName(), parameters[index]);
788+
Stream.of(m.getParameters()[index].getAnnotationsByType(Param.class))
789+
.findFirst()
790+
.ifPresent(param -> {
791+
Stream.of(param.name().trim())
792+
.map(String::trim)
793+
.filter(name -> !name.isEmpty())
794+
.findFirst()
795+
.ifPresent(parameter::setName);
796+
parameter.setMode(param.mode());
797+
parameter.setExcluded(param.excluded());
798+
});
799+
return parameter;
800+
}).collect(Collectors.toList());
785801

786802
int skippedCount = 0;
787803
for (int i = 0; i < parameterTypes.length; i++) {
@@ -797,8 +813,8 @@ private List<Parameter> getParameters(final ITestContext context,
797813
continue;
798814
}
799815

800-
if (i < reflectionNames.length) {
801-
result.put(reflectionNames[i], ObjectUtils.toString(parameters[i]));
816+
if (i < reflectionNames.size()) {
817+
result.put(reflectionNames.get(i).getName(), ObjectUtils.toString(parameters[i]));
802818
}
803819
}
804820

‎allure-testng/src/test/java/io/qameta/allure/testng/samples/ParameterizedTest.java

Copy file name to clipboardExpand all lines: allure-testng/src/test/java/io/qameta/allure/testng/samples/ParameterizedTest.java
+28-3Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,13 @@
1515
*/
1616
package io.qameta.allure.testng.samples;
1717

18-
import io.qameta.allure.Step;
18+
import io.qameta.allure.Param;
1919
import org.testng.annotations.BeforeMethod;
2020
import org.testng.annotations.DataProvider;
2121
import org.testng.annotations.Test;
2222

23+
import static io.qameta.allure.Allure.step;
24+
2325
/**
2426
* @author Egor Borisov ehborisov@gmail.com
2527
*/
@@ -38,13 +40,36 @@ public Object[][] testData() {
3840
};
3941
}
4042

43+
@DataProvider
44+
public static Object[][] testDataForParamNames() {
45+
return new Object[][]{
46+
{1, 1, 2, 5},
47+
{2, 2, 4, 5}
48+
};
49+
}
50+
4151
@Test(dataProvider = "testData")
4252
public void parameterizedTest(String param) {
4353
step(param);
4454
}
4555

46-
@Step
47-
public void step(String param) {
56+
@Test(dataProvider = "testDataForParamNames")
57+
public void sumTest(
58+
@Param(name = "First") Integer a,
59+
@Param(name = "Second") Integer b,
60+
@Param(name = "Third") Integer r,
61+
@Param(name = "Fourth") Integer s) {
62+
63+
step(("Arrange"), () -> {
64+
step(String.format("Take collection №[%s] of parameters", a));
65+
});
66+
step(("Act"), () -> {
67+
step(String.format("Add [%s]", a) + String.format("to [%s]", b));
68+
});
69+
step(("Assert"), () -> {
70+
step("Compare the sum");
71+
assert a + b == r;
72+
});
4873

4974
}
5075
}

‎allure-testng/src/test/resources/suites/parameterized-test.xml

Copy file name to clipboardExpand all lines: allure-testng/src/test/resources/suites/parameterized-test.xml
+4-2Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@
22
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
33

44
<suite name="Test suite 6">
5+
<listeners>
6+
<listener class-name="io.qameta.allure.testng.AllureTestNg"/>
7+
</listeners>
58
<test name="Test tag 6">
69
<classes>
7-
<class name="io.qameta.allure.testng.samples.ParameterizedTest">
8-
</class>
10+
<class name="io.qameta.allure.testng.samples.ParameterizedTest"/>
911
</classes>
1012
</test>
1113
</suite>

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.