| package test.factory; |
| |
| import org.testng.annotations.BeforeTest; |
| import org.testng.annotations.Factory; |
| import org.testng.annotations.Test; |
| |
| /** |
| * this is like the FactoryTest, except it creates test instances in a separate |
| * class from the test class |
| */ |
| public class FactoryInSeparateClass { |
| static private boolean m_wasRun = false; |
| static private int m_checkSum = 0; |
| |
| public static void addToSum(int i) { |
| m_checkSum += i; |
| } |
| |
| @BeforeTest |
| public void beforeTest() { |
| m_wasRun = false; |
| m_checkSum = 0; |
| } |
| |
| @Factory |
| public Object[] createObjects() { |
| return new Object[] { |
| new MyTest(1), |
| new MyTest(2), |
| new MyTest(3), |
| }; |
| } |
| |
| @Test(groups = "testMethodOnFactoryClass", dependsOnGroups={"MyTest"}) |
| public void checkSum() { |
| m_wasRun = true; |
| assert (m_checkSum == 6) : |
| "Test instances made by factory did not invoke their test methods correctly. expected 6 but got " + m_checkSum; |
| } |
| |
| public static boolean wasRun() { |
| return m_wasRun; |
| } |
| } |
| |