• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package test.listeners;
2 
3 import org.testng.Assert;
4 import org.testng.IConfigurationListener2;
5 import org.testng.ITestResult;
6 import org.testng.TestNG;
7 import org.testng.annotations.Test;
8 
9 import test.SimpleBaseTest;
10 
11 public class ConfigurationListenerTest extends SimpleBaseTest {
12 
13   static public class CL implements IConfigurationListener2 {
14 
15     private static int m_status = 0;
16 
17     @Override
beforeConfiguration(ITestResult tr)18     public void beforeConfiguration(ITestResult tr) {
19       m_status += 1;
20     }
21 
22     @Override
onConfigurationSuccess(ITestResult itr)23     public void onConfigurationSuccess(ITestResult itr) {
24       m_status += 3;
25     }
26 
27     @Override
onConfigurationFailure(ITestResult itr)28     public void onConfigurationFailure(ITestResult itr) {
29       m_status += 5;
30     }
31 
32     @Override
onConfigurationSkip(ITestResult itr)33     public void onConfigurationSkip(ITestResult itr) {
34       m_status += 7;
35     }
36 
37   }
38 
runTest(Class<?> cls, int expected)39   private void runTest(Class<?> cls, int expected) {
40     TestNG tng = create(cls);
41     CL listener = new CL();
42     CL.m_status = 0;
43     tng.addListener(listener);
44     tng.run();
45 
46     Assert.assertEquals(CL.m_status, expected);
47   }
48 
49   @Test
shouldSucceed()50   public void shouldSucceed() {
51     runTest(ConfigurationListenerSucceedSampleTest.class, 1 + 3);
52   }
53 
54   @Test
shouldFail()55   public void shouldFail() {
56     runTest(ConfigurationListenerFailSampleTest.class, 1 + 5);
57   }
58 
59   @Test
shouldSkip()60   public void shouldSkip() {
61     runTest(ConfigurationListenerSkipSampleTest.class, 1 + 5 + 7); // fail + skip
62   }
63 }
64