package test; import org.testng.annotations.AfterTest; import org.testng.annotations.Test; /** * this test verifys that the test class is instantiated exactly once * regardless of how many test methods we have, showing that TestNG * semantics is quite different from JUnit */ public class CtorCalledOnce { public static int instantiated = 0; public CtorCalledOnce() { instantiated++; } @Test public void testMethod1(){ assert instantiated == 1 : "Expected 1, was invoked " + instantiated + " times"; } @Test public void testMethod2(){ assert instantiated == 1 : "Expected 1, was invoked " + instantiated + " times"; } @Test public void testMethod3(){ assert instantiated == 1 : "Expected 1, was invoked " + instantiated + " times"; } @AfterTest public void afterTest() { instantiated = 0; } }