deleteCreatedPassenger

deleteCreatedPassenger

我不知道我的问题是否很清楚,但是我正在使用testNG,我有这个:

@Test
public void passengerServiceTest() {
...
}

@AfterTest
public void deleteCreatedPassenger() {
...
}

我也想在passengerServiceTest之后执行我的deleteCreatedPassenger()方法,同样,我希望在deleteCreatedPassenger失败的情况下,passengerServiceTest也失败,换句话说,我希望两者都是相同的测试,所以如果它们之一失败,则测试失败。
因此,我尝试使用批注@ AfterTest,@ AfterMethod,@ AfterClass,并且都将两个测试作为“分离的”测试。
你知道怎么做吗?问候

最佳答案

您不需要批注即可实现此目的,因为这正是finally块的用途:

@Test
public void passengerServiceTest() {
    try {
        //test code
    } finally {
        deleteCreatedPassenger();
    }
}

public void deleteCreatedPassenger() {
...
}

如果删除引发异常,则您的服务测试将失败。

注释在某些情况下很有用,您不应将其用于核心语言结构。

09-04 23:15