| package test.dataprovider; |
| |
| import org.testng.Assert; |
| import org.testng.annotations.BeforeClass; |
| import org.testng.annotations.BeforeMethod; |
| import org.testng.annotations.BeforeSuite; |
| import org.testng.annotations.BeforeTest; |
| import org.testng.annotations.DataProvider; |
| import org.testng.annotations.Test; |
| |
| /** |
| * Make sure that all before methods except beforeTestMethod are invoked |
| * before DataProvider. |
| * |
| * Created on Jan 19, 2006 |
| * @author <a href="mailto:cedric@beust.com">Cedric Beust</a> |
| */ |
| public class ConfigurationAndDataProvidersTest { |
| private boolean m_beforeSuite = false; |
| private boolean m_beforeTest = false; |
| private boolean m_beforeClass = false; |
| private boolean m_beforeTestMethod = false; |
| |
| @DataProvider(name = "test1") |
| public Object[][] createData() { |
| Assert.assertTrue(m_beforeSuite, "beforeSuite should have been invoked"); |
| Assert.assertTrue(m_beforeTest, "beforeTest should have been invoked"); |
| Assert.assertTrue(m_beforeClass, "beforeClass should have been invoked"); |
| Assert.assertFalse(m_beforeTestMethod, "beforeMethod should not have been invoked"); |
| return new Object[][] { new Object[] { "Test" } }; |
| } |
| |
| @Test(dataProvider = "test1") |
| public void verifyNames(Object p) { |
| // do nothing |
| } |
| |
| |
| @BeforeSuite |
| public void setUpSuite () { |
| m_beforeSuite = true; |
| ppp("BEFORE SUITE"); |
| } |
| |
| @BeforeTest |
| public void setUpTest() { |
| m_beforeTest = true; |
| ppp("BEFORE TEST"); |
| } |
| |
| @BeforeClass |
| public void setUpClass() { |
| m_beforeClass = true; |
| ppp("BEFORE TEST CLASS"); |
| } |
| |
| @BeforeMethod |
| public void setUp() { |
| m_beforeTestMethod = true; |
| ppp("BEFORE TEST METHOD"); |
| } |
| |
| private static void ppp(String s) { |
| if (false) { |
| System.out.println("[ConfigurationAndDataProvidersTest] " + s); |
| } |
| } |
| |
| } |