gradle运行测试代码_Gradle的好处:运行单个测试

gradle运行测试代码

我们可以使用Java插件添加的test任务,使用Gradle运行测试代码。 默认情况下,将执行项目中找到的所有测试。 如果要运行一个测试,可以使用Java系统属性test.single和测试名称。 实际上,系统属性的模式是taskName .singletaskName是我们项目中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来运行SampleTestAnotherSampleTest

$ 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编写的代码

参考: Gradle的好处:在JDriven博客上,由我们的JCG合作伙伴 Hubert Ikkink 运行单个测试 。

翻译自: https://www.javacodegeeks.com/2013/05/gradle-goodness-running-a-single-test.html

gradle运行测试代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/348581.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

信号与系统 chapter5 线性系统与非线性系统

今天我们说一说系统的分类 线性系统 顾名思义&#xff0c;满足线性性质的系统 它有三个特性&#xff1a; 齐次性可加性线性性 这里常见在选择题里让你判断 f1(.)f_{1}(.)f1​(.)代表的是激励&#xff0c;系统的响应不仅和它当前的状态相关&#xff0c;还和以前的状态相关的…

python爬取音乐源码_手把手教你使用Python抓取QQ音乐数据(第一弹)

【一、项目目标】获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名、专辑名、播放链接。由浅入深&#xff0c;层层递进&#xff0c;非常适合刚入门的同学练手。【二、需要的库】主要涉及的库有&#xff1a;requests、json、openpyxl【三、项目实现】1.了解 QQ 音乐网站的 rob…

Java接口–历年来Java 9之旅–默认和私有方法

介绍 Java接口已经比Java版本进行了更多的演变&#xff0c;而Java 8和Java 9则有所发展。在本文中&#xff0c;我们将探讨接口在Java 8之前的样子以及如何在Java 8和Java 9中得到增强。 Java 8之前的接口 接口将具有一个或多个抽象方法&#xff0c;如下所示&#xff1a; publ…

信号与系统 chapter6 时变与时不变系统

时不变系统 通俗来说&#xff0c;就是输入延迟一段时间后&#xff0c;输出也延迟一段相同的时间。比如说一个示波器&#xff0c;你要给它上电显示波形&#xff0c;你就是示波器的输入&#xff0c;你一按下开关&#xff0c;它就马上亮了&#xff1b;下次你在开关上发呆5秒钟再按…

胆战心惊形容什么_胆战心惊的近义词

胆战心惊近义词&#xff1a; 不寒而栗( 注释:栗&#xff1a;畏惧&#xff0c;发抖。不冷而发抖。形容非常恐惧。)胆战心惊( 注释:战&#xff1a;通“颤”&#xff0c;发抖。形容十分害怕。)毛骨悚然( 注释:悚然&#xff1a;害怕的样子。汗毛竖起&#xff0c;脊梁骨发冷。形容十…

信号与系统 chapter7 因果与非因果

“因果”这个词常常在佛教里提到&#xff0c;比如有因才有果&#xff0c;放在信号与系统里就是你有输入才有输出&#xff0c;但是在所有的系统中你有输入就一定有输出吗&#xff1f;又或者是你有输出但没有输入&#xff0c;这样的系统如何称呼&#xff1f; 此类系统称为非因果系…

互联网和大数据是什么意思_何为互联网大数据?为什么每个人在数据的面前,相当于一丝不挂?...

何为互联网大数据&#xff1f;大数据背后核心迷局是什么&#xff1f;那通过下面一段对话&#xff0c;您可能就明白了。——必胜客店的电话铃响了。客服拿起电话&#xff1a;客服&#xff1a;您好! 请问有什么需要我为您服务&#xff1f;顾客&#xff1a;你好&#xff01; 我想要…

ejb 2.1 jboss_JBoss AS7 JNDI和EJB 3.1命名更改

ejb 2.1 jboss由于“功能培训”继续前进&#xff0c;而我们又没有保持软件堆栈的最新状态&#xff0c;因此我们的团队发现自己处于不得不迁移的不利位置&#xff1a; JBoss 4.2.3到AS 7.1.x&#xff08;当前为7.1.1&#xff09; EJB 2.1到EJB 3.1 Hibernate2到Hibernate3或4…

信号与系统 chapter8 LTI连续系统的描述

我们这里对LTI系统的描述主要是用在电路分析上&#xff0c;我们一般先写出电路方程&#xff0c;对电路方程抽象以后得到微分方程 LTI系统的数学模型 这里注意一下电感上要求二阶导数&#xff0c;电阻上求一阶&#xff0c;然后为每一项分别写上系数&#xff0c;倘若读者到这里还…

安装jdk步骤rpm_jenkins rpm包方式安装

war包方式安装jenkins已经说过java openjdk的安装和注意事项&#xff0c;这里不做赘述前提&#xff1a;确保 java的jdk或者jre已安装#]java -version#]whereis java (whereis查看程序运行命令的)#]ls -lrt /usr/bin/java#]ls -lrt /etc/alternatives/java这里简单讲下which、wh…

使用ADF绑定创建视图对象行CreateInsert操作

在这篇简短的文章中&#xff0c;我将重点介绍与在任务流中创建新记录的一种非常常见的方法有关的一个小陷阱。 让我们考虑一个简单的任务流示例&#xff0c;该任务流创建一个新的VO行&#xff0c;如果用户单击“确定”按钮&#xff0c;则在页面片段上显示该行并提交事务&#…

信号与系统 chapter9 关于信号与系统中微分方程的求解

微分方程的求解 许多同学之所以觉得信号与系统难的原因之一就在于它的数学推导&#xff0c;特别是对于一些高等数学基础比较薄弱的同学来说&#xff0c;且不说后面的求解傅里叶变换部分&#xff0c;目前的LTI连续系统微分方程的求解&#xff0c;已经是的有的同学感到云里雾里。…

jpa 托管_Spring Boot-不是托管类型

我使用Spring boot JPA&#xff0c;启动服务时遇到问题。Caused by: java.lang.IllegalArgumentException: Not an managed type: class com.nervytech.dialer.domain.PhoneSettingsat org.hibernate.jpa.internal.metamodel.MetamodelImpl.managedType(MetamodelImpl.java:21…

信号与系统 chapter10 系统的初值问题与系数匹配法

系统的初值问题就是让你求一下系统在0时刻的y(t)y(t)y(t)函数 我们看到它要我们求关于t0t0t0时刻的一些参数&#xff0c;我们这里首先就要想到冲激函数&#xff0c;为什么&#xff1f;因为冲激函数最特殊&#xff0c;它的特性就是在0时刻才有定义&#xff0c;才有值&#xff0…

信号与系统 chapter11 LTI系统的响应

我发现好多人都喜欢写“LTI连续系统”&#xff0c;殊不知LTI的全称就是LinearTimeInvariantSystemsLinear Time Invariant SystemsLinearTimeInvariantSystems&#xff0c;已经写出线性连续时不变了&#xff0c;就不要再翻译中画蛇添足了。 言归正传&#xff0c;前面我们分析的…

lora终端连接云服务器_终端连接服务器主机

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":6,"count":6}]},"card":[{"des":"云服务器 ECS(Elastic Compute Service)是一…

通过函数式编程实现动态对话框处理程序

在我以前的文章中&#xff0c;我提到了一个常见的用例&#xff0c;当我们需要以编程方式检查当前事务是否脏了&#xff0c;并在做某件事之前通知用户有关该事务的信息。 就像“您有未保存的更改将丢失&#xff0c;要继续吗&#xff1f;”。 假设我们需要在应用程序的许多位置&…

数字通信系统的组成框图

通信系统组成框图有两种&#xff0c;一种较为简略&#xff0c;为广义上的通信系统&#xff1b;一种比较全面&#xff0c;为数字通信系统&#xff0c;现整理如下&#xff1a; 简略版&#xff1a; 信源→发送设备→信道→接收设备→信宿信源\rightarrow 发送设备\rightarrow 信道…

哨兵一号数据snap预处理_利用SNAP软件进行Sentinel-1A卫星微波影像的预处理

利用SNAP软件对雷达影像进行预处理&#xff0c;主要包括热噪声去除、轨道文件校正、辐射定标、滤波校正、多普勒地形校正&#xff0c;最终获得入射角和后向散射信息。数据&#xff1a;本次实验所用数据为哨兵一号(Sentinel-1A)干涉宽幅模式(Interferometric Wideswath&#xff…

Spring Boot&Angular 5&Spring Data&Rest示例(CRUD)

本教程提供了Spring Boot&#xff0c;Angular 5和spring数据的完整实现&#xff0c;以示例为例构建端到端的单页Java Web应用程序。我们将使用Spring Boot 1.5公开REST API和angular5并通过路由来构建我们的客户端不仅要消耗服务器公开的API&#xff0c;还要将MySql数据库与后端…