我正在寻找一种解决方案,让我能够在测试框架执行的启动和结束时处理测试环境的设置和清理。 设置不是问题,但清理意味着知道测试框架何时完成工作或当前测试在执行队列中的索引。 有人有实现这个的解决方案吗?
最佳答案
您可以使用 org.spockframework.runtime.extension.IGlobalExtension
来实现这一点,因为 Spock 扩展在所有规范开始之前和所有规范结束之后都有回调。
public interface IGlobalExtension {
void start();
void visitSpec(SpecInfo spec);
void stop();
}
因此,在您的案例中实现 stop()
以执行您需要执行的任何操作。
Spock 通过 Java 的 ServiceLoader
找到扩展,因此请确保添加一个 META-INF/services
文件(Java9 之前)或在您的 模块中声明它-info.java
文件(Java9 之后),如此处解释:http://spockframework.org/spock/docs/1.1/extensions.html#_writing_custom_extensions
关于java - 执行所有测试后清理(spock 框架),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47329511/