1
2
3
4
5
6 package otherTests.testng;
7
8 import static org.testng.Assert.assertEquals;
9 import static org.testng.Assert.assertFalse;
10 import static org.testng.Assert.assertNull;
11 import static org.testng.Assert.assertTrue;
12
13 import org.testng.annotations.AfterClass;
14 import org.testng.annotations.AfterMethod;
15 import org.testng.annotations.AfterTest;
16 import org.testng.annotations.BeforeClass;
17 import org.testng.annotations.BeforeMethod;
18 import org.testng.annotations.BeforeTest;
19 import org.testng.annotations.DataProvider;
20 import org.testng.annotations.Optional;
21 import org.testng.annotations.Parameters;
22 import org.testng.annotations.Test;
23
24 public final class TestNGParametersTest {
25 String p1;
26 String p2;
27
28 @Parameters({ "p1", "p2" })
29 public TestNGParametersTest(@Optional("Abc") String p1, @Optional("XPTO") String p2) {
30 this.p1 = p1;
31 this.p2 = p2;
32 }
33
34 @BeforeClass
35 @Parameters("p1")
36 void setUpClass(@Optional("Abc") String param) {
37 assertEquals(param, "Abc");
38 assertEquals(param, p1);
39 }
40
41 @BeforeTest
42 @Parameters("param1")
43 void setUpTest(@Optional String param) {
44 assertNull(param);
45 }
46
47 @BeforeMethod
48 @Parameters("param2")
49 void setUp(@Optional("XYZ5") String param) {
50 assertEquals(param, "XYZ5");
51 }
52
53 @Test
54 @Parameters({ "first", "second" })
55 public void testSomething(@Optional("abc") String a, @Optional("123") String b) {
56 assertEquals(a, "abc");
57 assertEquals(b, "123");
58 assertEquals(p1, "Abc");
59 assertEquals(p2, "XPTO");
60 }
61
62 @Test
63 public void testWithoutParameters() {
64 assertEquals(p1, "Abc");
65 assertEquals(p2, "XPTO");
66 }
67
68 @AfterMethod
69 @Parameters("param3")
70 void tearDown(@Optional String param) {
71 assertNull(param);
72 }
73
74 @AfterTest
75 @Parameters("param1")
76 void tearDownTest(@Optional("value") String param) {
77 assertEquals(param, "value");
78 }
79
80 @AfterClass
81 @Parameters("p2")
82 void tearDownClass(@Optional("XPTO") String param) {
83 assertEquals(param, "XPTO");
84 assertEquals(param, p2);
85 }
86
87 @DataProvider
88 public Object[][] data() {
89 return new Object[][] { { 1, "A" }, { 2, "B" }, { 3, "C" } };
90 }
91
92 @Test(dataProvider = "data")
93 public void usingDataProvider(int i, String s) {
94 assertTrue(i > 0);
95 assertFalse(s.isEmpty());
96 }
97 }