在Gradle 中对Junit5 测试框架引用

Junit5 是最近众所周知的Junit 测试框架。Junit5是模块化的,并且由不同的模块组成。

JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage

  • JUnit Platform是在JVM上启动测试框架的基础。
  • JUnit Jupiter是新编程模型和扩展模型的组合,用于在JUnit 5中编写测试和扩展。
  • JUnit Vintage提供了一个TestEngine,用于在平台上运行基于JUnit 3和JUnit 4的测试。

在build.gradle中写下如下代码来支持运行 Junit Platform

test {
  useJUnitPlatform()
} 

可以在 useJUnitPlatform 中查看更多细节。

Compiling and executing JUnit Jupiter tests

为了支持Junit Jupiter ,可以添加如下依赖

dependencies { 
  testImplementation("org.junit.jupiter:junit-jupiter-api:5.1.0") 
  testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.1.0") 
} 

然后就可以写代码,并且运行 gradle test 来执行。

Executing legacy tests with JUnit Vintage

就如前面所写,如果你想运行 Junit3/4,或者是同 Jupiter tests混合运行,那么需要引入 JUnit Vintage Engine 依赖。

dependencies { 
  testImplementation("org.junit.jupiter:junit-jupiter-api:5.1.0") 
  testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.1.0") 
  testCompileOnly("junit:junit:4.12") 
  testRuntimeOnly("org.junit.vintage:junit-vintage-engine:5.1.0") 
} 

Filtering test engine

Junit Platform 允许使用不同的测试引擎, Junit 当前提供了两种开箱即用的 TestEngine,junit-jupiter-engine and junit-vintage-engine.。当然也可以自自定义自己的实现的详细说明可以点击链接.

默认情况下,所有的测试引擎都会在测试运行期间使用,但如果想显示的实现具体的测试引擎,可以添加如下的配置来实现Filter specific engines

tasks.test { 
  useJUnitPlatform { 
​    includeEngines("junit-vintage") 
​    // excludeEngines("junit-jupiter") 
  } 
} 

A test engine filtering sample can be found at samples/testing/junitplatform/engine in the ‘-all’ distribution of Gradle.

参考文档


  1. Testing in Java & JVM projects
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值