我很惊讶到目前为止还没有找到答案。如果我缺少一些基本的东西,我会很高兴知道这一点。
有一个大型遗留代码库已升级到 Java 6(从 1.4 开始)。代码中存在大量 JUnit 3 测试,并被组织成测试套件,这些测试套件在 Eclipse 中使用 JUnit 4 默认运行程序成功运行。
现在,我添加了纯 JUnit 4 测试的新测试(注释、无 TestCase 等)。什么方法可以同时运行旧的 JUnit 3 测试套件和新的 JUnit 4 测试?
我很惊讶到目前为止还没有找到答案。如果我缺少一些基本的东西,我会很高兴知道这一点。
有一个大型遗留代码库已升级到 Java 6(从 1.4 开始)。代码中存在大量 JUnit 3 测试,并被组织成测试套件,这些测试套件在 Eclipse 中使用 JUnit 4 默认运行程序成功运行。
现在,我添加了纯 JUnit 4 测试的新测试(注释、无 TestCase 等)。什么方法可以同时运行旧的 JUnit 3 测试套件和新的 JUnit 4 测试?
只需在运行配置中使用“JUnit4”测试运行器。
JUnit4 二进制文件有一个向后兼容层,允许它在同一个测试套件中同时拥有 JUnit3 和 JUnit4 样式类。
对于命令行构建,只需使用 JUnit4 jars 而不是 JUnit3。
这样做是为了简化您现在正在进行的迁移。
此外,它在我的项目中运行良好。
@RunWith (Suite.class)让我有机会将 JUnit 4 和 JUnit 3 测试和测试用例结合在一起:
@RunWith(Suite.class)
@Suite.SuiteClasses({
ExampleOfJunit3TestSuite.class,
ExampleOfJUnit3TestCase.class,
ExampleOfJUnit4TestSuite.class,
ExampleOfJUnit4TestCase.class})
public class BothJUnit4and3TestSuite {
}
BothJUnit4and3TestSuite运行@Suite.SuiteClasses中列出的所有测试和测试套件。