public class Test{
@BeforeTest
public void create_user throws Exception (){
}
@Test
public void user_actions throws Exception (){
}
@AfterTest
public void delete_user throws Exception(){
}
}
以上是我的测试课程。如果我在create_user()
中收到任何错误,当前它会抛出Exception
并且用完测试用例。
但我需要执行delete_user()
而不管create_user()
或user_actions()
答案 0 :(得分:4)
尝试@AfterTest(alwaysRun = true)
。
来自TestNG doc:
对于after方法(afterSuite,afterClass,...):如果设置为true,即使先前调用的一个或多个方法失败或被跳过,也会运行此配置方法。
答案 1 :(得分:0)
如果期望测试异常,您可以使用@expected通知测试有关确保调用delete_user的异常。 如果是一个adhoc异常,最后阻止delete_user是一个很好的做法。
答案 2 :(得分:0)
如果测试方法应该出现异常,请使用以下注释:
@Test(expectedExceptions=<your exceptions here>)
public void user_actions throws Exception (){
//
}
如果测试方法引发意外异常,我建议您查看测试设置/方法。