JUnit5 平台启动器 API - 如果没有至少一个测试引擎,则无法创建启动器

2024-05-16

我正在尝试升级我们的自动化测试套件的测试能力以接受 JUnit5 测试并遵循JUnit 平台启动器 API 说明 https://junit.org/junit5/docs/current/user-guide/#launcher-api我收到错误“如果没有至少一个 TestEngine,则无法创建 Launcher;请考虑将引擎实现 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由服务加载器找到。

编辑(回应索穆拉斯的评论):

这是针对 Eclipse 的,您可以在此处查看代码库:http://git.eclipse.org/c/platform/eclipse.platform.releng.git/tree/bundles/org.eclipse.test http://git.eclipse.org/c/platform/eclipse.platform.releng.git/tree/bundles/org.eclipse.test

我将以下内容添加到清单中:

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 http://git.eclipse.org/c/platform/eclipse.platform.releng.git/tree/bundles/org.eclipse.test/src/org/eclipse/test/EclipseTestRunner.java删除所有旧的 junit 代码。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JUnit5 平台启动器 API - 如果没有至少一个测试引擎,则无法创建启动器 的相关文章

随机推荐