我不知道我的问题是否很清楚,但是我正在使用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() {
...
}
如果删除引发异常,则您的服务测试将失败。
注释在某些情况下很有用,您不应将其用于核心语言结构。