Testing 如何仅在构建成功时运行gradle类

Testing 如何仅在构建成功时运行gradle类,testing,groovy,build,gradle,Testing,Groovy,Build,Gradle,我有一个基于gradle框架的测试。在带有afterclass()的方法中,我调用函数,该函数清理环境(进程)。但是,我只想在测试成功的情况下清理它。否则,我想让它去调查。下面是一个例子: @AfterClass() public void clean() { if (processID) { deleteProcess(processID) } } 在本例中,env。仅当测试(类)失败时才清理。如果我添加@AfterClass(alwaysRun=true),

我有一个基于gradle框架的测试。在带有afterclass()的方法中,我调用函数,该函数清理环境(进程)。但是,我只想在测试成功的情况下清理它。否则,我想让它去调查。下面是一个例子:

@AfterClass()
public void clean() {
    if (processID) {
        deleteProcess(processID)
    }
}
在本例中,env。仅当测试(类)失败时才清理。如果我添加@AfterClass(alwaysRun=true),每次都会调用clean方法


有没有办法只在测试运行正常的情况下调用clean方法?

现在假设您使用JUnit,您可以通过实现一个TestRule来实现这一点,该TestRule将包装测试的执行,并根据测试运行的结果有条件地进行清理
org.junit.rules.ExternalResource
org.junit.rules.TestWatcher
。前者用于这些任务,后者知道测试失败/成功。看看他们的来源,你可以创建自己的支持

顺便说一句:这并不像问题所暗示的那样是一个特定于梯度的问题