【发布时间】:2023-04-03 17:07:01
【问题描述】:
我正在尝试迁移我的项目以使用 Junit5。到目前为止,我一直在使用一个“LogSpy”类,它基本上拦截并保存所有日志,以便轻松测试它们。使用 Junit4 和 Spock 测试,我能够使用 @Rule 注释初始化我的日志拦截器类(即使它在 Spock 测试中)。迁移到 Junit5 后,此注释似乎没有初始化所需的日志拦截器类,我找不到原因。为什么会这样? Junit4 和 5 关于 @Rule 注释的区别是什么?有没有办法解决这个问题?
这就是我初始化 LogSpy 类的方式。它在 JUnit 单元测试中初始化,但不在 Spock 测试中。
@Rule
public LogSpy logSpy = new LogSpy()
【问题讨论】:
标签: java unit-testing junit junit5 spock