java - 执行所有测试后清理(spock 框架)

标签 java testing junit automated-tests spock

我正在寻找一种解决方案,让我能够在测试框架执行的启动和结束时处理测试环境的设置和清理。 设置不是问题,但清理意味着知道测试框架何时完成工作或当前测试在执行队列中的索引。 有人有实现这个的解决方案吗?

最佳答案

您可以使用 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/

相关文章:

java - iphone - 使用 java/html/css/javascript 在表单上自动弹出键盘?

Java程序输出

java - 从 Amazon S3 读取 Servlet 太慢了

java - JUnit 测试错误 : java. lang.NoClassDefFoundError: org/junit/platform/commons/PreconditionViolationException

unit-testing - 如何在 Rust 中模拟特定方法而不是所有方法?

java - 关于使用 stub - Java

java - 当网站链接被点击时,如何增加数据库中的点击次数?

java - 忽略 Junit5 中的测试

java - Ant junit批量测试

java.lang.AssertionError : Content type not set while junit Spring MVC Controller? 错误