Java 使用JUnit3测试用例的测试规则

Java 使用JUnit3测试用例的测试规则,java,unit-testing,junit,junit4,junit3,Java,Unit Testing,Junit,Junit4,Junit3,首先让我解释一下测试设置 我为这个非常大的项目工作,它有许多较小的模块。为了测试,我们以两种方式使用JUnit JUnit4:With@Test注释,我们使用从BlockJunit4ClassRunner派生的自定义测试运行程序 JUnit3:我们需要一大块测试,它们是从XML文件动态创建的,并且基于JUnit.framework.TestCase。我们也有一个自定义的测试运行程序,它继承了org.junit.runners.AllTests 对于一些横切的非功能性需求,我们已经实现了一些规

首先让我解释一下测试设置

我为这个非常大的项目工作,它有许多较小的模块。为了测试,我们以两种方式使用JUnit

  • JUnit4:With@Test注释,我们使用从BlockJunit4ClassRunner派生的自定义测试运行程序
  • JUnit3:我们需要一大块测试,它们是从XML文件动态创建的,并且基于JUnit.framework.TestCase。我们也有一个自定义的测试运行程序,它继承了org.junit.runners.AllTests
对于一些横切的非功能性需求,我们已经实现了一些规则(org.junit.rules),我们通过使用@Rule注释测试类来使用这些规则。这对JUnit4很有效,但对JUnit3不起作用

有没有一种不做太多更改的直接方法来实现它

对于BlockJunit4ClassRunner,我们有FrameworkMethod

@Override
protected void runChild(final FrameworkMethod method, RunNotifier     notifier) {  
...
}
但是在所有测试中,我们没有

@Override
public void run(RunNotifier notifier) {
...
...
}

如果您的JUnit3测试是从XML动态创建的,您能否更改生成它们的代码以生成JUnit4样式的测试?如果您的JUnit3测试是从XML动态创建的,您能否更改生成它们的代码以生成JUnit4样式的测试?