我正在尝试在Intellij中运行测试,这些测试在Spring Boot 2.2.x中可以正常工作。但是我最近升级到了Spring Boot 2.3.9版本。当我尝试从运行配置中运行测试时,它不能运行测试并会抛出错误:
'failed to resolve junit platform launcher 1.6.3 intellij'。
然而,如果我在命令行界面中运行测试,就可以正常工作。
我正在尝试在Intellij中运行测试,这些测试在Spring Boot 2.2.x中可以正常工作。但是我最近升级到了Spring Boot 2.3.9版本。当我尝试从运行配置中运行测试时,它不能运行测试并会抛出错误:
'failed to resolve junit platform launcher 1.6.3 intellij'。
然而,如果我在命令行界面中运行测试,就可以正常工作。
原来,为了在IntelliJ中运行Junit5测试,需要添加junit5-platform-launcher依赖项。
https://junit.org/junit5/docs/current/user-guide/#running-tests-ide-intellij-idea
在pom.xml中显式地添加此依赖项即可解决问题。
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-launcher</artifactId>
<scope>test</scope>
</dependency>
我遇到了同样的问题:“无法解决 junit platform launcher 1.8.1”在intellij中。 IntellJ版本:2021.3
我在这里找到了答案,它有效了,不需要向pom添加任何依赖项。
前往设置 >> HTTP代理 >> 选择自动检测代理设置
对于IntelliJ Idea 2021.1,我使用以下方法修复了类似问题:
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-launcher</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<scope>test</scope>
</dependency>
<dependencyManagement>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.junit/junit-bom -->
<dependency>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
<version>5.7.1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
请在IntelliJ IDEA设置中检查您的代理设置。我打开了代理并解决了问题。
删除.m2文件夹中的内容(如果有settings.xml文件,请勿删除),以便重新下载所有的JAR包和依赖项(包括IntelliJ无法解析的),此后它将再次正常工作,无需添加任何依赖项或更改代理配置。
我尝试在pom.xml中添加以下依赖项,对我有效。
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>${version.junit.jupiter}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${version.junit.jupiter}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-launcher</artifactId>
<scope>test</scope>
<version>1.8.2</version>
</dependency>
这里是官方的方法
Maven Surefire and Maven Failsafe can run JUnit 4 based tests alongside Jupiter tests as long as you configure test scoped dependencies on JUnit 4 and the JUnit Vintage TestEngine implementation similar to the following.
<!-- ... --> <build> <plugins> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.2</version> </plugin> <plugin> <artifactId>maven-failsafe-plugin</artifactId> <version>2.22.2</version> </plugin> </plugins> </build> <!-- ... --> <dependencies> <!-- ... --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> <version>5.7.2</version> <scope>test</scope> </dependency> <!-- ... --> </dependencies> <!-- ... -->
\n
testImplementation 'org.junit.platform:junit-platform-launcher:1.8.2'
- Evandro