首先,您正在将 ALPHA 快照工件(即
org.junit:junit5-api:5.0.0-SNAPSHOT)与 M2
工件(即
org.junit.platform:junit-platform-surefire-provider:1.0.0-M2)混合在一起,这将永远无法工作。
用户指南中的Maven部分建议您
pom.xml从junit5-maven-
consumer项目中签出。如果遵循该示例,最终将得到类似以下内容的结果。
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> <junit.jupiter.version>5.0.0-M2</junit.jupiter.version> <junit.platform.version>1.0.0-M2</junit.platform.version></properties><build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>${java.version}</source> <target>${java.version}</target> </configuration> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>2.19</version> <dependencies> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-surefire-provider</artifactId> <version>${junit.platform.version}</version> </dependency> </dependencies> </plugin> </plugins></build><dependencies> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>${junit.jupiter.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>${junit.jupiter.version}</version> <scope>test</scope> </dependency></dependencies>要 编写 测试,您只需要
junit-jupiter-api; 但是,为了 运行
测试,您必须
TestEngine在类路径上具有。因此,对于JUnit Jupiter,您也需要
junit-jupiter-engine在类路径上。
正如Nicolai Parlog所指出的,您可以添加;
junit-jupiter-engine的依赖项
maven-surefire-plugin。但是,这将不包含
JupiterTestEngineIDE的类路径中。
如果仅通过Maven或最新版本的IntelliJ 2016(具有对JUnit
5的内置支持)运行测试,那么您可能不在乎
JupiterTestEngineIDE中的类路径是否在此。但是…如果您使用的是Eclipse,NetBeans或IntelliJ的非beta版本,那么您肯定也希望将其
JupiterTestEngine放在IDE的类路径中。
问候,
Sam( 核心JUnit 5提交者 )



