blob: fef3dbc1553ff9f44717e7c28c9fac364dd63556 [file] [log] [blame]
package test.listeners;
import org.testng.Assert;
import org.testng.TestNG;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.testng.collections.Lists;
import test.SimpleBaseTest;
import java.util.Arrays;
public class ListenerTest extends SimpleBaseTest {
@BeforeMethod
public void bm() {
SimpleListener.m_list = Lists.newArrayList();
}
@Test(description = "Ensure that if a listener is present, we get test(), onSuccess()," +
" afterMethod()")
public void listenerShouldBeCalledBeforeConfiguration() {
TestNG tng = create(OrderedListenerSampleTest.class);
tng.run();
Assert.assertEquals(SimpleListener.m_list, Arrays.asList(1, 2, 3, 4));
}
@Test(description = "TESTNG-400: onTestFailure should be called before @AfterMethod")
public void failureBeforeAfterMethod() {
TestNG tng = create(FailingSampleTest.class);
tng.run();
Assert.assertEquals( SimpleListener.m_list, Arrays.asList(4, 5, 6));
}
@Test(description = "Inherited @Listeners annotations should aggregate")
public void aggregateListeners() {
TestNG tng = create(AggregateSampleTest.class);
AggregateSampleTest.m_count = 0;
tng.run();
Assert.assertEquals(AggregateSampleTest.m_count, 2);
}
@Test(description = "Should attach only one instance of the same @Listener class per test")
public void shouldAttachOnlyOneInstanceOfTheSameListenerClassPerTest() {
TestNG tng = create(new Class [] {Derived1.class, Derived2.class});
BaseWithListener.m_count = 0;
tng.run();
Assert.assertEquals(BaseWithListener.m_count, 2);
}
@Test(description = "@Listeners with an ISuiteListener")
public void suiteListenersShouldWork() {
TestNG tng = create(SuiteListenerSample.class);
SuiteListener.start = false;
SuiteListener.finish = false;
tng.run();
Assert.assertTrue(SuiteListener.start);
Assert.assertTrue(SuiteListener.finish);
}
}