10

我很惊讶到目前为止还没有找到答案。如果我缺少一些基本的东西,我会很高兴知道这一点。

有一个大型遗留代码库已升级到 Java 6(从 1.4 开始)。代码中存在大量 JUnit 3 测试,并被组织成测试套件,这些测试套件在 Eclipse 中使用 JUnit 4 默认运行程序成功运行。

现在,我添加了纯 JUnit 4 测试的新测试(注释、无 TestCase 等)。什么方法可以同时运行旧的 JUnit 3 测试套件和新的 JUnit 4 测试?

4

2 回答 2

12

只需在运行配置中使用“JUnit4”测试运行器。

JUnit4 二进制文件有一个向后兼容层,允许它在同一个测试套件中同时拥有 JUnit3 和 JUnit4 样式类。

对于命令行构建,只需使用 JUnit4 jars 而不是 JUnit3。

这样做是为了简化您现在正在进行的迁移。

此外,它在我的项目中运行良好。

于 2009-12-07T18:27:16.000 回答
9

@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中列出的所有测试和测试套件。

于 2009-12-07T21:58:14.097 回答