如何在 java 中使用 testng 注释

How to use testng annotations in java

我的代码

public class Test{

  @BeforeTest
  public void create_user throws Exception (){

  }

  @Test
    public void user_actions throws Exception (){

  }

  @AfterTest
  public void delete_user throws Exception(){

  }

}

以上是我的测试class。如果我在 create_user() 中遇到任何错误,目前它会将 Exception 和 运行 抛出测试用例。

但我需要 delete_user() 应该被执行,而不管 create_user()user_actions()

中的任何错误

尝试@AfterTest(alwaysRun = true)

来自TestNG doc

For after methods (afterSuite, afterClass, ...): If set to true, this configuration method will be run even if one or more methods invoked previously failed or was skipped.

如果预期会出现测试异常,您可以使用@expected 通知测试有关确保调用delete_user 的异常。 如果它是一个临时异常,最终阻止 delete_user 是一个好习惯。

如果测试方法预期会出现异常,请使用以下注释:

@Test(expectedExceptions=<your exceptions here>)
public void user_actions throws Exception (){
    // 
}

如果测试方法抛出意外异常,我会建议检查您的测试 setup/method。