Java JUnit测试运行程序,在运行测试之前创建测试

Java JUnit测试运行程序,在运行测试之前创建测试,java,junit,testing,test-suite,test-runner,Java,Junit,Testing,Test Suite,Test Runner,我使用JUnit3.xTestRunner,它在运行所有测试之前一次对所有测试进行初始化 是否有一个测试运行程序可以在运行每个测试(或至少每个测试套件的测试)之前创建它们? 我可以使用JUnit4.x Runner,但我的测试是3.x测试。您可能做错了 每个单元测试应该是独立的,不依赖于任何其他测试结果。 否则,当其中一个测试中断时,它将中断依赖于它的所有测试。因此,您将看到许多错误,而不容易理解实际原因。另一方面,如果所有单元测试都是独立的,那么中断的测试极易调试和修复 编辑:我假设您问原始问

我使用JUnit3.xTestRunner,它在运行所有测试之前一次对所有测试进行初始化

是否有一个测试运行程序可以在运行每个测试(或至少每个测试套件的测试)之前创建它们?

我可以使用JUnit4.x Runner,但我的测试是3.x测试。

您可能做错了

每个单元测试应该是独立的,不依赖于任何其他测试结果。 否则,当其中一个测试中断时,它将中断依赖于它的所有测试。因此,您将看到许多错误,而不容易理解实际原因。另一方面,如果所有单元测试都是独立的,那么中断的测试极易调试和修复


编辑:我假设您问原始问题的原因是因为您在测试中有一些依赖项。如果我错了,请忽略这个答案:)

在JUnit3中,您需要编写自己的TestSuite类来延迟套件中测试的实例化。

您能提供一些更多的信息来说明为什么需要这样做吗?我并不是唯一一个怀疑还有更多事情要知道的人。我们有一些广泛的测试基础设施代码,帮助我们组织测试环境和测试数据。不幸的是,有些测试使用构造函数,有些测试使用设置来驱动它。我们面临的问题与时间有关。与重构将东西从构造函数转移到安装程序相比,在安装之前让构造函数运行会更容易。此外,我看不出单元测试框架在JIT创建测试(执行构造函数)或在测试运行之前将它们排列起来之间有什么显著的区别。