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 }