TestSuite的无根测试

时间:2015-11-04 09:30:37

标签: java eclipse junit junit4 junit3

我想为我们公司的一些常见用例创建测试套件构建器(例如Google Guave用于集合)。

所以我创建了我的构建器,以及一些扩展data.interestsTestSuite的类,如果需要,可以添加它们。然而,在Eclipse中运行所有内容(Mars 4.5.1 - 不要判断)将测试显示为" Unrooted Tests"并且视图无法将其标记为成功或失败:

JUnit View

Maven带来了以下例外(但它是Maven,当我到达它时,我可以烧掉那座桥,我不相信它与上面有任何关系):

  

[错误]无法执行目标org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test(default-test)项目org.acme.project执行默认测试目标org.apache .maven.plugins:maven-surefire-plugin:2.18.1:测试失败:分叉进程出错

Other questions表明这是因为JUnit 4用于JUnit 3类TestCase(不推荐使用,所以......),在这种情况下问题是:我如何转换这段代码到JUnit 4?

TestCase

1 个答案:

答案 0 :(得分:0)

如果匿名run类的TestCase方法如下所示,则此方法有效:

@Override
public final void run(final TestResult result) {
    result.startTest(this);
    result.runProtected(this, () -> testCase.run());
    result.endTest(this);
}

不知道为什么。