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

时间:2018-02-07 19:45:30

标签: java junit5 serviceloader

我正在尝试升级我们的自动化测试套件的测试能力以接受JUnit5测试,并在关注JUnit Platform Launcher API instructions时出现错误"如果没有至少一个TestEngine,则无法创建启动器;考虑将引擎实现JAR添加到类路径" 。原因是以下内容无法找到TestEngine

的任何实例

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

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

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

编辑(回应Sormuras的评论):

这适用于Eclipse,您可以在此处查看代码库: http://git.eclipse.org/c/platform/eclipse.platform.releng.git/tree/bundles/org.eclipse.test

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

TestEngine

将此添加到.classplath:

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"

将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代码。

0 个答案:

没有答案