在使用 Junit5 的 spock 单元测试中不考虑 @Rule 注释

乙醚

我正在尝试迁移我的项目以使用 Junit5。到目前为止,我一直在使用“LogSpy”类,它基本上可以拦截并保存所有日志,以便可以轻松测试它们。使用 Junit4 和 Spock 测试,我能够通过使用 @Rule 注释来初始化我的日志拦截器类(即使它在 Spock 测试中)。迁移到 Junit5 后,这个注释似乎没有初始化所需的日志拦截器类,我找不到原因。为什么会这样?Junit4 和 5 在 @Rule 注释方面有什么区别?有没有办法解决这个问题?

这就是我初始化 LogSpy 类的方式。它在 JUnit 单元测试中初始化,但不在 Spock 测试中初始化。

@Rule
public LogSpy logSpy = new LogSpy()
伦纳德·布鲁宁斯

来自发行说明

不再支持 JUnit 4 规则spock-core,但是,有一个新spock-junit4模块可提供最大努力支持以简化迁移。

总之添加spock-junit4依赖,如果你仍然需要使用 JUnit 4 规则。

从长远来看,我建议迁移到 Spock native extensions

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Spock junit测试和Gradle构建系统在控制台上输出单元测试结果

使用Spock在单元测试中获得“调用太少”

使用Maven运行Spock单元测试

如何配置Maven插件以运行Spock和Junit5测试

如何使用SpringBoot2,JUnit5和Kotlin将配置属性注入到单元测试中

Spock -Unit Test:如何为采用Mono的@around注释编写Spock单元测试

如何使用 JUnit5 在 OpenEJB 中测试 EJB Bean?

注释记录Junit5中每个测试用例的执行时间

是否可以选择在JUnit5 / Gradle中用标签组合注释的测试?

无法使用Maven执行Junit5测试

使用 JUNIT5 测试用例处理多个异常

使用Junit5进行Gradle多项目集成测试

如何在Junit5中使用Serenity?

没有JUnit的@Test注释,Spock测试用例将无法正常工作

使用JUnit 5测试自定义约束注释

使用Spock框架运行Android单元测试

使用Spock进行Java单元测试时发生异常

我是否需要使用 Kotlin Junit5 和 Spring Boot 将 Spring 注释复制到内部类?

使用Spock的控制器中的单元测试会话变量

如何在Spock2中创建一个数据驱动的测试,同时考虑枚举源的所有值(基本上替代Junit5 @EnumSource)?

如何使用 JUnit5 在 Micronaut 的控制器测试中模拟服务类?

使用Spring Boot和JUnit5在Intellij中终止所有测试

被测试套件中JUnit5考虑废弃?

如何使用JUnit反映测试实体注释

如何使用JUnit5为Kafka消息使用者测试PACT

Junit5的@CsvFileSource注释与Eclipse不工作

在junit5上使用测试服测试多个类即将挂起

Spock:测试Groovy类是否具有特定注释?

如何为使用@Circuitbreaker注释的方法创建单元测试