View Javadoc
1   /*
2    * MIT License
3    * Copyright (c) 2006-2025 JMockit developers
4    * See LICENSE file for full license text.
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  }