1

我正在尝试升级我们的自动化测试套件的测试能力以接受 JUnit5 测试,当遵循JUnit 平台启动器 API 说明时,我收到错误“如果没有至少一个 TestEngine 就无法创建启动器;考虑将引擎实现 JAR 添加到类路径” . 原因是以下无法找到任何实例TestEngine

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

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

我已经包含了org.junit.jupiter.engine,其中包含JupiterTestEngine哪些实现TestEngine,作为必需的插件。我尝试在项目的 .classpath 中添加到 jupiter.engine jar 的直接路径。我已经尝试创建一个具有JupiterTestEngine相同文件的实例并且它已成功创建,但TestEngine服务加载器仍然没有找到。

编辑(回应 Somuras 的评论):

这是针对 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:

<classpathentry exported="true" kind="lib" path="/home/lbullen/Documents/eclipse/plugins/org.junit.jupiter.engine_5.0.0.v20170910-2246.jar"/>

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

我正在尝试让教程代码在http://git.eclipse.org/c/platform/eclipse.platform.releng.git/tree/bundles/org.eclipse.test/src的编辑版本中工作/org/eclipse/test/EclipseTestRunner.java 删除了所有旧的junit代码。

4

0 回答 0