JUnit5 Platform Launcher API – 如果没有至少一个TestEngine,则无法创建Launcher

我正在尝试升级我们的自动化测试套件的测试能力以接受JUnit5测试,并且当遵循JUnit Platform Launcher API指令时,我得到错误“无法创建没有至少一个TestEngine的启动器;考虑将引擎实现JAR添加到类路径” 。 原因是以下内容无法找到TestEngine任何实例:

Iterable testEngines = ServiceLoader.load(TestEngine.class,ClassLoaderUtils.getDefaultClassLoader());

您对如何确保ServiceLoader能够找到TestEngine实例有任何建议吗?

我已经包含org.junit.jupiter.engine ,它包含实现TestEngine ,作为必需的插件。 我试过在项目的.classpath中添加一个直接路径到jupiter.engine jar。 我已经尝试在同一个文件中创建JupiterTestEngine witihn的实例并且它已成功创建,但仍未找到服务加载程序发现的TestEngine

编辑(回应Sormuras的评论):

这是针对Eclipse的,你可以在这里看到代码库: http : //git.eclipse.org/c/platform/eclipse.platform.releng.git/tree/bundles/org.eclipse.test

我在mainifest中添加了以下内容:

 org.junit.platform.launcher, org.junit.jupiter.api;bundle-version="5.0.0", org.junit.platform.engine;bundle-version="1.0.0", org.junit.platform.commons;bundle-version="1.0.0", org.junit.jupiter.engine;bundle-version="5.0.0", org.junit.vintage.engine;bundle-version="4.12.0" 

将此添加到.classplath:

  

将org.junit.jupiter.engine jar添加到lib文件夹,然后添加它以包含在二进制构建中。 (我正在寻找解决方案)

我正在尝试将Tutorial代码用于http://git.eclipse.org/c/platform/eclipse.platform.releng.git/tree/bundles/org.eclipse.test/src的编辑版本。 /org/eclipse/test/EclipseTestRunner.java删除了所有旧的junit代码。