Joe*_*ves 10 java spring unit-testing maven spring-boot
我有一个 Spring Boot 项目。我在 .../src/test/java/... 目录中编写了单元测试。我所有的单元测试都是 *Test.java 的形式。当我运行“mvn test”时,我得到以下输出:
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ frm-api ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 6 source files to /Users/JoelRives/Projects/fasor/fasor-service/fatality-review/target/test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.22.0:test (default-test) @ frm-api ---
[INFO]
[INFO] -------------------------------------------------------
[INFO] T E S T S
[INFO] -------------------------------------------------------
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
[INFO]
Run Code Online (Sandbox Code Playgroud)
显然,maven 在编译单元测试时会看到它们。但是,如您所见,它并没有运行它们。
我的 pom 中有以下相关的 maven 依赖项:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<version>1.5.3.RELEASE</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>test</scope>
<version>1.4.194</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我的 pom 还包括以下插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.0</version>
<dependencies>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-surefire-provider</artifactId>
<version>1.3.0-M1</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.2.0-M1</version>
</dependency>
</dependencies>
</plugin>
Run Code Online (Sandbox Code Playgroud)
非常感谢有关此问题的任何帮助。
我没有展示我的整个 POM。这是 Junit 的东西:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<version>1.5.3.RELEASE</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>test</scope>
<version>1.4.194</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
Gan*_*ute 12
对我来说,我已经在我的里面写了这个,我pom.xml
使用的是 JUnit4
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
Run Code Online (Sandbox Code Playgroud)
一旦我删除了exclusions
,它就开始执行。
cod*_*her 11
看起来如果您使用的是 Junit4 和 surefire 插件版本 2.22 及更高版本,则不会进行测试。我有一个类似的问题,使用 surefire V2.21.0 似乎有效。
下面是我的万无一失的配置
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.21.0</version>
</plugin>
Run Code Online (Sandbox Code Playgroud)
尝试更新surefire-plugin
以明确选择测试类:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
<include>**/*Test*.java</include>
</includes>
</configuration>
</plugin>
</plugins>
Run Code Online (Sandbox Code Playgroud)
你也可以看看这个,可能是重复的!
归档时间: |
|
查看次数: |
7806 次 |
最近记录: |