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