Java 在JUnit4的“gradle测试”的最开始运行初始化器

Java 在JUnit4的“gradle测试”的最开始运行初始化器,java,gradle,junit,junit4,Java,Gradle,Junit,Junit4,在我们的项目中,我们有很多JUnit4测试,它们是从Gradle执行的 现在,我们想为整个“gradle测试”执行插入一个初始值设定项。初始值设定项是一个类加载调整,因此它应该在一开始只运行一次 我研究了一些: JUnit的RunListener RunListener不在Gradle上运行 与junit foundation类似 我试过这个,但由于不确定的原因,它还没有起作用。 这可能是因为其复杂的类加载结构 仍然值得深入研究 JUnit的RunWith 我们需要指定所有的测

在我们的项目中,我们有很多JUnit4测试,它们是从Gradle执行的

现在,我们想为整个“gradle测试”执行插入一个初始值设定项。初始值设定项是一个类加载调整,因此它应该在一开始只运行一次

我研究了一些:

  • JUnit的RunListener
    
    
    • RunListener
      不在Gradle上运行
  • 与junit foundation类似
    • 我试过这个,但由于不确定的原因,它还没有起作用。
      • 这可能是因为其复杂的类加载结构
    • 仍然值得深入研究
  • JUnit的
    RunWith
    • 我们需要指定所有的测试类名。
      • 我们已经有很多测试课程了
      • 而且,当我们添加一个新的测试类时,我们也必须在那里添加测试类。我们很容易忘记
    • 我们希望自动查找所有分类的测试(如普通
      gradletest
      )。
    • ClasspathSuite
      是否有助于自动查找测试类?
    • 但是,
      gradletests--tests=“…”
      将无法按预期工作
  • 测试类中的静态初始值设定项,在整个测试运行过程中只运行一次?
    • 需要在这么多现有测试中添加这么多
      静态{}
      块吗
    • 也很容易忘记

有没有人有更多的想法来解决这个问题?(如果我们在JUnit 5中有一个方法,我们会考虑。)/P>是否必须从运行测试的同一JVM进程运行,或者在测试运行之前可以在不同的JVM进程中运行吗?必须在同一个JVM过程中。