testNG注释等于"最后"在java?

时间:2014-10-27 12:52:14

标签: java testing annotations testng

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

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

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

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

1 个答案:

答案 0 :(得分:3)

你不需要注释来实现这一点,因为它正是finally块的目的:

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

public void deleteCreatedPassenger() {
...    
}

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

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