在所有测试之后如何调用自定义方法/ cleanUp? (Geb和Spock)

时间:2018-11-13 14:16:27

标签: maven testing automated-tests spock geb

要在运行测试之前设置环境,我使用GebConfig.groovy类,该类在运行Runnig测试时作为第一个组件被触发。但是我还需要在所有测试完成后将环境恢复到初始状态。

我试图在扩展了GebReportingSpec类的类中过量使用cleanUpSpec()方法,但是在每次测试后都会调用它。

是否有一种方法可以在完成所有测试后将方法清理为初始状态?

我正在这个项目中使用maven。

1 个答案:

答案 0 :(得分:0)

我不知道Geb或Spock中的任何机制。通常,我的经验是,当每个测试在开始之前就设置好阶段时,您会处于一个更好的位置,而不是依靠某些可能尚未执行的清理机制。

但是,如果您真的需要这个,我建议在执行阶段后(集成)测试中使用类似Maven Exec Plugin的东西:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.2.1</version>
    <executions>
        <execution>
            <id>cleanup</id>
            <phase>post-test</phase>
            <goals>
                <goal>exec</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <executable>cleanup.groovy</executable>
    </configuration>
</plugin>

您可以使用任何可执行文件代替cleanup.groovy,但请记住,该文件必须是可执行文件(chmod +x ...)。