我有一个基于gradle框架的测试。在使用afterclass()的方法中,我调用function来清理环境(进程)。但是,我想在测试成功的情况下清理它。否则,我想让它在那里进行调查。这是一个例子:
@AfterClass()
public void clean() {
if (processID) {
deleteProcess(processID)
}
}
在这种情况下,env。仅在测试(类)失败时清除。如果我添加@AfterClass(alwaysRun = true),则每次调用clean方法。
如果测试运行正常,有没有办法调用干净方法?
答案 0 :(得分:2)
现在假设您使用JUnit,您可以通过实现TestRule来实现此目的,该TestRule将包装测试的执行并根据测试运行的结果有条件地执行清理。 org.junit.rules.ExternalResource
和org.junit.rules.TestWatcher
。前者用于这些任务,后者知道测试失败/成功。看看他们的来源,你可以创建自己的支持。