1 package test.dependent; 2 3 import org.testng.annotations.AfterClass; 4 import org.testng.annotations.BeforeClass; 5 import org.testng.annotations.DataProvider; 6 import org.testng.annotations.Factory; 7 import org.testng.annotations.Test; 8 import org.testng.collections.Lists; 9 10 import java.util.List; 11 12 public class DependentWithDataProviderSampleTest 13 { 14 public static List<String> m_log = Lists.newArrayList(); 15 private String param; 16 17 @Factory( dataProvider = "prov" ) 18 public DependentWithDataProviderSampleTest( String param ) 19 { 20 this.param = param; 21 } 22 23 @DataProvider( name = "prov" ) 24 public static Object[][] dataProvider() 25 { 26 return new Object[][] { 27 { "One" }, 28 { "Two" }, 29 { "Three" }, 30 }; 31 } 32 33 private void log(String s) { 34 m_log.add(s + "#" + param); 35 } 36 37 @BeforeClass 38 public void prepare() 39 { 40 log("prepare"); 41 } 42 43 @Test 44 public void test1() 45 { 46 log("test1"); 47 } 48 49 @Test( dependsOnMethods = "test1" ) 50 public void test2() 51 { 52 log("test2"); 53 } 54 55 @AfterClass 56 public void clean() 57 { 58 log("clean"); 59 } 60 61 @Override 62 public String toString() { 63 return "[" + param + "]"; 64 } 65 } 66