1da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beustpackage test.inject; 2da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beust 3da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beustimport org.testng.ITestResult; 4da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beustimport org.testng.SkipException; 5da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beustimport org.testng.annotations.AfterMethod; 6da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beustimport org.testng.annotations.BeforeClass; 7f19a60d9e003e04bffe39a8ef4f15d54e67894b3Cédric Beustimport org.testng.annotations.BeforeMethod; 8da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beustimport org.testng.annotations.Test; 9da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beust 10da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beustimport java.lang.reflect.Method; 11da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beust 12da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beustpublic class InjectAfterMethodWithTestResultSampleTest { 13da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beust static int m_success; 14da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beust 15da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beust @Test 16da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beust public void pass() {} 17892b08c1f1afd198fd8ccbf804de28b7ce12f547nullin 18da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beust @Test 19da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beust public void fail() { 20da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beust throw new RuntimeException(); 21da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beust } 22892b08c1f1afd198fd8ccbf804de28b7ce12f547nullin 23da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beust @Test 24da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beust public void skip() { 25da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beust throw new SkipException("Skipped"); 26da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beust } 27892b08c1f1afd198fd8ccbf804de28b7ce12f547nullin 28da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beust @BeforeClass 29da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beust public void init() { 30da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beust m_success = 3; 31da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beust } 32f19a60d9e003e04bffe39a8ef4f15d54e67894b3Cédric Beust 33f19a60d9e003e04bffe39a8ef4f15d54e67894b3Cédric Beust @BeforeMethod 34f19a60d9e003e04bffe39a8ef4f15d54e67894b3Cédric Beust public void before(Method m, ITestResult r) { 35f19a60d9e003e04bffe39a8ef4f15d54e67894b3Cédric Beust System.out.println("Before result: " + r); 36f19a60d9e003e04bffe39a8ef4f15d54e67894b3Cédric Beust } 37f19a60d9e003e04bffe39a8ef4f15d54e67894b3Cédric Beust 38da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beust @AfterMethod 39da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beust public void after(Method m, ITestResult r) { 40da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beust String name = m.getName(); 41da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beust if (("pass".equals(name) && r.getStatus() == ITestResult.SUCCESS) 42da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beust || ("fail".equals(name) && r.getStatus() == ITestResult.FAILURE) 43da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beust || ("skip".equals(name) && r.getStatus() == ITestResult.SKIP)) { 44da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beust m_success--; 45da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beust } 46da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beust } 47da4f4527ccc23d7a7d777627332b6c7332266a16Cédric Beust} 48