如何在Eclipse中跨多个项目运行Junit5测试?

4
我正在考虑将一组项目的单元测试从JUnit4迁移到JUnit5。这通常是相当简单的。然而,仍有一个未解决的问题:如何在Eclipse中跨所有项目运行单元测试。
对于JUnit4,使用ClassPathSuite有一个简单的解决方案:创建一个新项目,将所有其他项目添加到其类路径中,并添加一个没有方法的单个类:
@RunWith(ClasspathSuite.class)
public class RunAllTests {
}

这仍然可以与使用老式引擎的JUnit4编写的测试一起正常工作,并在JUnit5中运行。但是,一旦将测试转换为本机JUnit5 ClassPathSuite,该套件就无法找到它们。
Eclipse Oxygen(v4.9.0)测试配置仅允许在单个项目、包或源文件夹的范围内配置测试,因此似乎没有提供解决此问题的解决方案。
有什么建议吗?

作为一种解决方法,您可以使用例如启动组:https://dev59.com/D2855IYBdhLWcg3w-JbR#47302032 - howlger
是的,那个可行。谢谢你的指引。 - GeoffC
不幸的是,这将并行运行测试(可能会产生奇怪的结果),而且结果将在不同的运行历史中。 - Sebastian
顺便提一句 - Eclipse 相应的 Bug 是 https://bugs.eclipse.org/bugs/show_bug.cgi?id=111126 - 已经有15年了... - Sebastian
1个回答

2
JUnit 5.8引入了@Suite和suite engine。这个功能似乎类似于ClasspathSuite JUnit 4扩展所提供的功能。
Eclipse似乎与JUnit 5套件很好地配合使用: suite run from Eclipse 屏幕截图中的所有测试来自不同的项目。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接