gradle运行测试代码_Gradle的好处:运行单个测试
gradle运行测试代码
我们可以使用Java插件添加的test
任务,使用Gradle运行测试代码。 默认情况下,将执行项目中找到的所有测试。 如果要运行一个测试,可以使用Java系统属性test.single
和测试名称。 实际上,系统属性的模式是taskName .single
。 taskName
是我们项目中Test
类型的任务的名称。 我们将看到如何在构建中使用它。
首先,我们创建一个简单的build.gradle
文件来运行测试:
// File: build.gradle
apply plugin: 'java'repositories {mavenCentral()
}dependencies {testCompile 'junit:junit:[4,)'
}test {testLogging {// Show that tests are run in the command-line outputevents 'started', 'passed'}
}
接下来,我们创建两个测试类,每个类都有一个单独的测试方法,只是为了说明我们以后可以将它们作为单个测试来调用。
// File: src/test/java/com/mrhaki/gradle/SampleTest.java
package com.mrhaki.gradle;import static org.junit.Assert.*;
import org.junit.*;public class SampleTest {@Test public void sample() {assertEquals("Gradle is gr8", "Gradle is gr8");}}
// File: src/test/java/com/mrhaki/gradle/AnotherSampleTest.java
package com.mrhaki.gradle;import static org.junit.Assert.*;
import org.junit.*;public class AnotherSampleTest {@Test public void anotherSample() {assertEquals("Gradle is great", "Gradle is great");}
}
要仅运行SampleTest
我们必须使用Java系统属性-Dtest.single=Sample
从命令行调用test
任务:
$ gradle -Dtest.single=Sample test
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:compileTestJava
:processTestResources UP-TO-DATE
:testClasses
:testcom.mrhaki.gradle.SampleTest > sample STARTEDcom.mrhaki.gradle.SampleTest > sample PASSEDBUILD SUCCESSFULTotal time: 11.404 secs
注意,现在仅执行一个测试。 Gradle将获取值Sample ,并在以下模式中使用它** / <Java系统属性value = Sample> *。class来查找测试类。 因此,我们不必键入单个测试类的完整软件包和类名。 要仅调用AnotherSampleTest
测试类,我们使用Java systme属性的不同值运行test
任务:
$ gradle -Dtest.single=AnotherSample test
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:compileTestJava
:processTestResources UP-TO-DATE
:testClasses UP-TO-DATE
:testcom.mrhaki.gradle.AnotherSampleTest > anotherSample STARTEDcom.mrhaki.gradle.AnotherSampleTest > anotherSample PASSEDBUILD SUCCESSFULTotal time: 5.62 secs
我们还可以对Java系统属性使用一种模式,以运行适用于该模式的多个测试。 例如,我们可以使用* Sample来运行SampleTest
和AnotherSampleTest
:
$ gradle -Dtest.single=*Sample test
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:compileTestJava
:processTestResources UP-TO-DATE
:testClasses UP-TO-DATE
:testcom.mrhaki.gradle.AnotherSampleTest > anotherSample STARTEDcom.mrhaki.gradle.AnotherSampleTest > anotherSample PASSEDcom.mrhaki.gradle.SampleTest > sample STARTEDcom.mrhaki.gradle.SampleTest > sample PASSEDBUILD SUCCESSFULTotal time: 5.605 secs
为了显示Java系统属性也适用于Test
类型的其他任务,我们在build.gradle
文件中添加了一个新任务。 我们将任务命名为sampleTest
并包括我们的测试。 现在,我们还将相同的testLogging
应用于Test
类型的所有任务,以便可以看到输出。
// File: build.gradle
apply plugin: 'java'repositories {mavenCentral()
}dependencies {testCompile 'junit:junit:[4,)'
}task sampleTest(type: Test, dependsOn: testClasses) {include '**/*Sample*'
}tasks.withType(Test) {testLogging {events 'started', 'passed'}
}
接下来,我们只想运行SampleTest
类,但是现在我们使用Java系统属性-DsampleTest.single=S*
:
$ gradle -DsampleTest.single=S* sampleTest
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:compileTestJava UP-TO-DATE
:processTestResources UP-TO-DATE
:testClasses UP-TO-DATE
:sampleTestcom.mrhaki.gradle.SampleTest > sample STARTEDcom.mrhaki.gradle.SampleTest > sample PASSEDBUILD SUCCESSFULTotal time: 10.677 secs
用Gradle 1.6编写的代码
翻译自: https://www.javacodegeeks.com/2013/05/gradle-goodness-running-a-single-test.html
gradle运行测试代码
gradle运行测试代码_Gradle的好处:运行单个测试相关推荐
- Gradle的好处:运行单个测试
我们可以使用Java插件添加的test任务,使用Gradle运行测试代码. 默认情况下,将执行项目中找到的所有测试. 如果要运行单个测试,则可以使用Java系统属性test.single和测试名称. ...
- gradle引入依赖:_Gradle入门:依赖管理
gradle引入依赖: 即使不是没有可能,创建没有任何外部依赖关系的现实应用程序也是一项挑战. 这就是为什么依赖性管理是每个软件项目中至关重要的部分的原因. 这篇博客文章描述了我们如何使用Gradle ...
- 如何在gradle上仅运行一个测试类
本文翻译自:How to run only one test class on gradle I am new to Gradle. 我是Gradle的新手. I use Gradle 1.10 an ...
- gradle 命令行_Gradle命令行便利
gradle 命令行 在我的<用Gradle构建Java的gradle tasks >一文中,我简要提到了使用Gradle的" gradle tasks "命令来查看特 ...
- 为什么单片机的代码在Flash中运行,单片机的代码运行位置跟电脑有什么不同?
1. 单片机与电脑,在代码运行空间的区别 单片机与 电脑/Linux嵌入式 在代码运行的空间上不同.大多数单片机,代码都是在Flash中运行的.而电脑/linux嵌入式,是将代码从存储介质(可能是硬盘 ...
- 一套代码小程序WebNative运行的探索03——处理模板及属性
接上文: 一套代码小程序&Web&Native运行的探索02 对应Git代码地址请见:https://github.com/yexiaochai/wxdemo/tree/master/ ...
- 什么是代码签名?代码签名的好处
如果您希望用户从互联网上下载安装您的软件程序,那么获取客户的信任是很重要的.用户需要知道软件程序是否来源可信的软件开发商:在互联网传播过程中,是否被恶意篡改,比如植入恶意病毒.代码签名就是一种基于密码 ...
- tensorflow-gpu运行测试代码,卡在 I tensorflow/core/common_runtime/gpu/gpu_device.cc:1512] Adding visible gpu
新建一个环境解释器后,想要运行测试代码如下,会发现不管是cmd运行还是pycharm运行,都会卡在"Device mapping"的上一句 I tensorflow/core/co ...
- 最全Pycharm教程(3)——代码的调试、运行
如果觉得这篇文章对您有所启发,欢迎关注我的公众号,我会尽可能积极和大家交流,谢谢. 最全Pycharm教程(1)--定制外观 最全Pycharm教程(2)--代码风格 1.准备工作 (1)Python ...
最新文章
- 学习决心书-linux oldboy
- 数据采集框架Gobblin简介
- 潜在语义分析对认知科学的启示
- Python的继承多态
- 【笔试题】C语言结构体中,不同的数据类型在32位和64位下所占字节的区别
- ipad和iphone切图_如何在iPhone和iPad上的Messages App中固定对话
- Linux 部分常用命令
- ApiController得到服务器端绝对路径
- android自定义控件(6)-详解在onMeasure()方法中如何测量一个控件尺寸
- python语句分为什么_Python为什么使用缩进来分组语句?
- 美图2019年财报发布:“高级订阅”收入亮眼 成为重要商业模式
- CodeForces 444C. DZY Loves Physics(枚举+水题)
- RedHat中squid简易配置
- HDU 5514 欧拉函数应用
- python如何实现单例模式_用Python实现设计模式——单例模式
- html登录页面代码实现原理,web登录代码
- PS CC 2018安装插件imagemotion
- Go语言适合做什么?
- 选择驱动便携式计算机显示器GPU,显示器不是最佳分辨率怎么办
- 站在巨人的肩膀上,C++开源库大全
热门文章
- Sentinel(六)之集群流控
- jsdiff 比较文本内容差异
- (一)Web Service——基本概念
- sqlserver建库建表建约束,删库删表删约束的示例总结
- 使用Servlet上传多张图片——Dao层(BaseDao.java)
- Hibernate中使用Criteria查询及注解——(HibernateUtil)
- spingmvc 通过xml配置redis jedispol 有密码 通过xml配置redis中的 jedispool(有密码)
- docker 安装elasticsearch
- mmall工程生成dao层的插件出错了出错了 自动生成mapper 的插件出错了
- springboot创建项目