1 package test.dataprovider; 2 3 import org.testng.Assert; 4 import org.testng.ITestContext; 5 import org.testng.annotations.DataProvider; 6 import org.testng.annotations.Test; 7 8 /** 9 * Tests that when a DataProvider is declared with an ITestContext, 10 * this parameter is correctly passed. 11 * 12 * Created on Dec 28, 2006 13 * @author <a href="mailto:cedric@beust.com">Cedric Beust</a> 14 */ 15 public class TestContextSampleTest { 16 17 /** 18 * @return As many parameters as the name of the included group 19 */ 20 @DataProvider(name = "testContext") createContext(ITestContext ctx)21 public Object[][] createContext(ITestContext ctx) { 22 // ppp("CONTEXT:" + ctx); 23 String[] groups = ctx.getIncludedGroups(); 24 25 int n = groups.length > 0 ? new Integer(groups[0]): 0; 26 Object[] result = new Object[n]; 27 for (int i = 0; i < n; i++) { 28 result[i] = "foo"; 29 } 30 31 return new Object[][] { 32 new Object[] { result }, 33 }; 34 } 35 ppp(String s)36 private static void ppp(String s) { 37 System.out.println("[TestContextSampleTest] " + s); 38 } 39 40 @Test(dataProvider = "testContext", groups="10") verifyTen(Object[] objects)41 public void verifyTen(Object[] objects) { 42 Assert.assertEquals(objects.length, 10); 43 } 44 45 @Test(dataProvider = "testContext", groups="5") verifyFive(Object[] objects)46 public void verifyFive(Object[] objects) { 47 Assert.assertEquals(objects.length, 5); 48 } 49 50 } 51