Home | History | Annotate | Download | only in dependent
      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