blob: bab0d6deacf25b8562babc8719abe24b9336f9ac [file] [log] [blame]
package test.alwaysrun;
import org.testng.Assert;
import org.testng.TestNG;
import testhelper.OutputDirectoryPatch;
public class AlwaysRunTest {
static StringBuffer LOG;
/**
* @testng.test
*/
public void checkAlwaysRunTestMethod() {
LOG = new StringBuffer();
TestNG runner = new TestNG();
runner.setOutputDirectory(OutputDirectoryPatch.getOutputDirectory());
runner.setVerbose(1);
runner.setTestClasses(new Class[] {ClassWithAlwaysAfterTestMethod.class});
runner.run();
Assert.assertEquals(LOG.toString(), "-before-nonfail-after-before-fail-after", "all methods should have been invoked");
}
/**
* @testng.test
*/
public void checkAlwaysRunClassMethod() {
LOG = new StringBuffer();
TestNG runner = new TestNG();
runner.setOutputDirectory(OutputDirectoryPatch.getOutputDirectory());
runner.setVerbose(1);
runner.setTestClasses(new Class[] {ClassWithAlwaysAfterClassMethod.class});
runner.run();
Assert.assertEquals(LOG.toString(), "-before-nonfail-fail-after", "all methods should have been invoked");
}
/**
* @testng.test
*/
public void checkWithInnerClass() {
LOG = new StringBuffer();
TestNG runner = new TestNG();
runner.setOutputDirectory(OutputDirectoryPatch.getOutputDirectory());
runner.setVerbose(1);
runner.setTestClasses(new Class[] {SimpleInnerClass.class});
runner.run();
Assert.assertEquals(LOG.toString(), "dummy", "inner class should have been run");
}
static class SimpleInnerClass {
/**
* @testng.test
*/
public void dummyTest() {
LOG.append("dummy");
}
}
}