我在NetBeans 8.2中的一个新的干净Maven项目中创建了这个测试:
import static org.junit.jupiter.api.Assertions.fail;
import org.junit.jupiter.api.Test;
public class JUnit501Test {
@Test
void firstTest() {
fail("epicly");
}
}
Run Code Online (Sandbox Code Playgroud)
如果我运行测试,日志显示
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running JUnit501Test
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec
Results :
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
Run Code Online (Sandbox Code Playgroud)
我的pom.xml包含这个依赖项:
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.0.1</version>
<scope>test</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
什么可能导致JUnit 5忽略测试方法?
更新:我添加了surefire插件,这是完整的pom.xml:
<?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>com.timeshuttle</groupId>
<artifactId>Junit5Test</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.0.1</version> …Run Code Online (Sandbox Code Playgroud)