TestNG中BeforeClass/AfterClass/BeforeMethod/AfterMethod中异常后不会继续执行TC的处理方式

1.精确抛出异常

package com.rose.test.testng;

import org.testng.annotations.AfterMethod;
import org.testng.annotations.Test;
public class LocalTest {
    @AfterMethod
    public void setUp(){
        try{
            System.out.println("AfterMethod");
            throw new AssertionError();
        }catch(AssertionError e){
            //e.printStackTrace();
        }
    }
            
   @Test
    public void test1() {
       System.out.println("test1");
    }
   
   @Test
    public void test2() {
       System.out.println("test2");
    }
}

如以上例子。必须在catch中抛出AssertionError异常,比如只是抛出Exception,就不会解析执行后面的TC

 

2,在XML文件中使用configfailurepolicy="continue"

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Default suite" configfailurepolicy="continue">
  <test verbose="2" name="Default test">
    <parameter name="flag" value="true" />
    <classes>
      <class name="com.rose.test.testng.LocalTest"/>
    </classes>
  </test> <!-- Default test -->
</suite> <!-- Default suite -->

posted @ 2017-08-24 18:35  rose_jeff  阅读(1042)  评论(0)    收藏  举报