Intellij idea Can';JUnit5项目中的t解析符号测试
我在IntelliJ 2019.2中有一个遗留项目。它使用JUnit5和Mockito。我试图编写一个简单的测试,但IntelliJ无法解析@test注释(org.junit.jupiter.api.test)。如果我在项目窗口中检查外部库,我可以看到这个符号,但我不明白为什么不能解决它 我的POM是Intellij idea Can';JUnit5项目中的t解析符号测试,intellij-idea,junit,mockito,Intellij Idea,Junit,Mockito,我在IntelliJ 2019.2中有一个遗留项目。它使用JUnit5和Mockito。我试图编写一个简单的测试,但IntelliJ无法解析@test注释(org.junit.jupiter.api.test)。如果我在项目窗口中检查外部库,我可以看到这个符号,但我不明白为什么不能解决它 我的POM是 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-
instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/
maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>guru.springframework</groupId>
<artifactId>testing-junit5-
mockito</artifactId>
<version>1.0-SNAPSHOT</version>
<name>testing-junit5-mockito</name>
<description>Testing Java with JUnit 5
</description>
<organization>
<name>Spring Framework Guru</name>
<url>https://springframework.guru/</url>
</organization>
<developers>
<developer>
<id>jt</id>
<name>John Thompson</name>
<email>john@springframework.guru</email>
</developer>
</developers>
<inceptionYear>2018</inceptionYear>
<licenses>
<license>
<name>...</name>
<url>...</url>
</license>
</licenses>
<properties>
<project.build.sourceEncoding>UTF-
8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-
8</project.reporting.outputEncoding>
<java.version>11</java.version>
<maven.compiler.source>${java.version}
</maven.compiler.source>
<maven.compiler.target>${java.version}
</maven.compiler.target>
<junit-platform.version>5.3.1</junit-
platform.version>
<mockito.version>2.23.0
</mockito.version>
</properties>
<dependencies>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.1.Final</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.8.1</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>${junit-platform.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>${junit-platform.version}</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${junit-platform.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${mockito.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<version>${mockito.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.11.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins
</groupId>
<artifactId>maven-compiler-
plugin</artifactId>
<version>3.8.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins
</groupId>
<artifactId>maven-surefire-
plugin</artifactId>
<version>2.22.0</version>
<configuration>
<argLine>
--illegal-access=permit
</argLine>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins
</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.22.0</version>
<configuration>
<argLine>
--illegal-access=permit
</argLine>
</configuration>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.7.1</version>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.22.0</version>
</plugin>
</plugins>
</reporting>
测试必须驻留在
/src/test/java
目录下,因为测试库的作用域设置为test
,它们在生产代码中不可见。测试必须驻留在/src/test/java
目录下,因为测试库的作用域设置为test
,它们不可见在生产代码中可见。到InlineMockTest.java
文件的完整路径是什么?它在src-src/main/java/guru/springframework下我解决了它,尽管我不知道为什么。我将类移动到src/test目录下。没有意义,因为在我之前,我尝试从相关的测试依赖项中删除测试,所以他们应该看到他们需要什么。无论如何,它应该在src/test下。到InlineMockTest.java
文件的完整路径是什么?它在src-src/main/java/guru/springframework下我解决了它,尽管我不知道为什么。我将类移动到src/test目录下。没有意义,因为在我之前,我尝试从相关的测试依赖项中删除测试,所以他们应该看到他们需要什么。无论如何,它应该在src/test下。
import org.junit.jupiter.Test;
public class InlineMockTest {
@Test
void testInlineMock() {
}
}