当前位置: 首页 > 知识库问答 >
问题:

错误ID为“junit-vintage”的TestEngine在使用Intellij时未能发现测试

申屠恺
2023-03-14

我正在处理一个小组项目,并试图运行一个测试。当运行它时,我得到了文件中的错误以及org.junit.platform.commons.util.预处理违规异常:无法加载带有名称的类...

我尝试了使缓存失效并重新启动,还尝试了重新导入pom。xml文件,但在尝试运行测试时仍会出现错误。

任何帮助都将不胜感激。

我正在使用intellij IDEA 2019.2.4(社区版)

Intellij显示的错误

WARNING: TestEngine with ID 'junit-vintage' failed to discover tests
org.junit.platform.commons.util.PreconditionViolationException: Could not load class with name: <ommitted>
    at org.junit.platform.engine.discovery.MethodSelector.lambda$lazyLoadJavaClass$0(MethodSelector.java:156)
    at java.base/java.util.Optional.orElseThrow(Optional.java:408)
    at org.junit.platform.engine.discovery.MethodSelector.lazyLoadJavaClass(MethodSelector.java:155)
    at org.junit.platform.engine.discovery.MethodSelector.getJavaClass(MethodSelector.java:135)
    at org.junit.vintage.engine.discovery.MethodSelectorResolver.resolve(MethodSelectorResolver.java:34)
    at org.junit.vintage.engine.discovery.MethodSelectorResolver.lambda$resolve$0(MethodSelectorResolver.java:30)
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1540)
    at org.junit.vintage.engine.discovery.MethodSelectorResolver.resolve(MethodSelectorResolver.java:30)
    at org.junit.vintage.engine.discovery.VintageDiscoverer.collectTestClasses(VintageDiscoverer.java:64)
    at org.junit.vintage.engine.discovery.VintageDiscoverer.discover(VintageDiscoverer.java:51)
    at org.junit.vintage.engine.VintageTestEngine.discover(VintageTestEngine.java:61)
    at org.junit.platform.launcher.core.DefaultLauncher.discoverEngineRoot(DefaultLauncher.java:168)
    at org.junit.platform.launcher.core.DefaultLauncher.discoverRoot(DefaultLauncher.java:155)
    at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128)
    at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:69)
    at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
    at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)

共有1个答案

阳枫涟
2023-03-14

如果你不使用“junit vintage”,最好从springboot依赖项中删除…在某些版本中,这个模块没有执行…对我来说解决了。

请参阅此问题:使用JUnit 5进行Spring-boot-starter-test

 类似资料:
  • 我看到JUnit5发布了,我在IntelliJ V2016.2.1中应用并运行了一些测试用例。 看到下面的截图。 我只有两个问题。 > 当我在IntelliJ中运行测试用例时,为什么JUnit Jupiter和JUnit Vintage是分开的? 我可以合并JUnit 4和5测试结果吗?

  • 我在运行集成测试时遇到了问题。 作为测试的一部分,我使用从源代码控制中下拉其他项目,然后在本地运行它们,这样我的测试就可以使用它来执行。 我对JUnit的Maven依赖项包括: 我已经创建了一个名为集成测试的配置文件,这样我就可以选择何时启用集成测试,并添加了一个参数到maven-surefire插件,名为skipUTs,这样我就可以跳过单元测试。 运行的输出: 测试类别大致如下: 任何帮助都将不

  • 测试数据:- 1) Java版本“1.8.0_121”Java(TM)SE运行时环境(构建1.8.0_121-b13)Java热点(TM)64位服务器虚拟机(构建25.121-b13,混合模式) 2) eclipseideforjava开发人员版本:Neon。2版本(4.6.2)构建id:20161208-0600 3) OS Microsoft Windows 10 Home-64位 我的特征。

  • 在Eclipse中运行JUnit测试时,我会收到以下错误: 虽然我使用的是maven,但我尝试在类路径中添加库,并且JUnit库位于POM依赖项中。 我已经尝试过清理该项目,并使用Eclipse的JUnit插件创建了一个新的JUnit测试用例,但仍然得到相同的错误。

  • 在我的项目中,我们使用了Hibernate(JPA)元模型生成器来使我们的标准查询类型安全。在我们的应用程序中,这一切都很有效,但是,当我们使用我们的集成开发环境在Maven模块中运行JUnit测试时,它们现在会失败,出现以下错误:- 我猜这是由于我们生成的类中的以下原因:- 当Maven将测试作为构建过程的一部分运行时,它们就可以毫无问题地运行了。 我怀疑我在IDE的设置中遗漏了一些东西,那就是

  • 每当我运行我的项目JUnit测试(使用JUnit5和Java9以及Eclipse Oxygen1.a),我都会遇到Eclipse找不到任何测试的问题。 在运行配置下,eclipse甚至找不到用@test注释的方法,而是只向我显示“(所有方法)”。下面的图片希望能更好地展示我的设置: 我已经试过了 null 这些步骤中的一些可以在这里找到,但最终问题仍然存在。