java - 在 JUnit 4 的“gradle test”开始时运行初始化程序
问题描述
在我们的项目中,我们有很多 JUnit 4 测试,它们是从 Gradle 执行的。
现在,我们想为整个“gradle test”执行插入一个初始化程序。初始化器是一个类加载调整,所以它应该在一开始只运行一次。
我研究了一些:
- JUnit的
RunListener
RunListener
不在 Gradle 上运行。- https://github.com/gradle/gradle/issues/1330
- 和。。。相似
junit-foundation
- 我正在尝试这个,但由于不确定的原因它还没有工作。
- 这可能是因为其复杂的类加载结构。
- 仍然值得深入探讨。
- 我正在尝试这个,但由于不确定的原因它还没有工作。
- JUnit的
RunWith
- 我们需要指定所有测试类名称。
- 我们已经有很多测试类。
- 而且,当我们添加一个新的测试类时,我们也必须在那里添加测试类。我们很容易忘记。
- JUnit 4:在运行测试之前在测试套件中设置东西(就像测试的 @BeforeClass 方法,仅用于测试套件)
- 我们希望自动查找所有分类的测试(如 normal
gradle test
)。 ClasspathSuite
可能有助于自动查找测试类?- 但是,
gradle tests --tests="..."
不会按预期工作。
- 我们需要指定所有测试类名称。
- 测试类中的静态初始化程序,在整个测试运行中只运行一次?
- 需要
static {}
在这么多现有测试中添加这么多块? - 也很容易忘记。
- 需要
有没有人有更多的想法来解决这个问题?(如果我们在 JUnit 5 中有方法,我们会考虑的。)
解决方案
推荐阅读
- android - 无法获取用户位置
- visual-studio-code - 粘贴到 VS Code 中的文本有空格但不注册所有空格
- javascript - 通过 socket.io 在服务器端存储新添加的元素
- c# - log4net:错误无法创建附加程序 [RollingLogFileAppender]
- java-8 - 使用 Zulu jdk 11 从 Alpine Linux Image 调用 GRPC 服务时出现 SSL 连接问题
- r - 如何编写中缀函数?
- qt - 如何在 Q3DSurface 上设置轴标签?
- reactjs - 区分不同类型的错误
- html - 在移动设备的横向模式下键盘尺寸太大
- ruby-on-rails - 如何忽略 Zeitwerk for Rails 6 中的文件夹?