首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JUnit通过命令行很好,在IntelliJ中失败

JUnit通过命令行很好,在IntelliJ中失败
EN

Stack Overflow用户
提问于 2021-02-04 23:58:48
回答 3查看 1.1K关注 0票数 3

我正在做一个对我来说是新的项目,但已经有一段时间了。

我尝试使用mvn clean test从终端运行单元测试,单元测试按预期运行。

不幸的是,在这些单元测试中,我确实需要IntelliJ的一些调试帮助。每当我试图从IntelliJ运行单元测试时,我都会得到以下输出:

发生内部错误。 org.junit.platform.commons.JUnitException: ID为“junit-vintage”的TestEngine未能发现测试 由: org.junit.platform.commons.JUnitException:不支持的junit:junit: 3.8.1引起。请升级到4.12或更高版本。

根据pom.xml的说法,我使用的是JUnit 5.7.0,Mockito 3.7.7,而且(由于我在谷歌上搜索的一些结果表明它可能是Spring问题)没有Spring的迹象。我也尝试过包括junit-vintage,因为在输出中提到了它,但是这似乎也没有什么区别。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-02-05 16:55:33

这是旧的StackOverflow诅咒--寻找一个解决方案几个小时,一事无成;在StackOverflow上发表文章,甚至乐于助人的人都不知道问题出在哪里,但现在我可以从谷歌那里迅速找到答案。

尽管我以前在我的项目中添加了junit-vintage,但显然我并没有添加正确的工件、版本或其他东西。因为这就是解决办法。

这里有一个链接添加到导致我找到答案的讨论中--添加这个依赖项:

代码语言:javascript
复制
    <dependency> 
        <groupId>org.junit.vintage</groupId>
        <artifactId>junit-vintage-engine</artifactId>
        <version>5.2.0</version>
        <scope>test</scope>
    </dependency>
票数 1
EN

Stack Overflow用户

发布于 2021-02-05 16:52:12

你能试着把

代码语言:javascript
复制
<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.13.1</version>
</dependency>

敬你的pom.xml。也许您只有junit作为传递依赖项,因此选择了3.8.1。

票数 0
EN

Stack Overflow用户

发布于 2021-05-11 14:28:35

可以尝试以下几个步骤来解决这个问题:

  1. 运行mvn dependency:tree并检查junit:junit (如果有的话)的传递依赖项。
  2. 签入父pom.xml中的junit-addons (如果存在),并从其中排除junit。
代码语言:javascript
复制
<dependency>
    <groupId>junit-addons</groupId>
    <artifactId>junit-addons</artifactId>
    <version>1.4</version>
    <exclusions>
        <!-- Note: avoid junit 3 as a dependency -->
        <exclusion>
            <artifactId>junit</artifactId>
            <groupId>junit</groupId>
        </exclusion>
    </exclusions>
    <scope>test</scope>
</dependency>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66055656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档