为了在运行测试之前设置环境,我使用了GebConfig.groovy类,它在运行测试时作为第一个组件触发。但我还需要在所有测试完成后将环境恢复到初始状态。
我试图覆盖扩展GebReportingSpec类的类中的cleanUpSpec()方法,但每次测试后都会调用它。
有没有一种方法可以在所有测试完成后调用方法来将环境清理到初始状态?
我在这个项目中使用了maven。
发布于 2018-11-14 02:33:06
我不知道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 ...)。
https://stackoverflow.com/questions/53283012
复制相似问题