使用Gradle运行集成测试

 如果Gradle构建的项目是一个web项目的话,里面可能包含一些集成测试和功能性测试。这些测试和单元测试不同之处是在运行之前要先在本地将web服务启动起来,并且跑完测试后能够自动的关闭web服务。

  在本地启动web服务我们可以使用Gradle内置的jetty插件。jetty是一个轻量级的web容器,其执行速度快,配置简单,远程调试方便。启用jetty只需在build.gradle中加入对这个插件的引用。

  apply plugin: ‘jetty‘

  之后可以配置war包的名称,启动的端口等属性。

  apply plugin: ‘jetty‘

  httpPort = 9876

  [jettyRun, jettyRunWar, jettyStop]*.stopPort = 9966

  [jettyRun, jettyRunWar, jettyStop]*.stopKey = ‘stopKey‘

  我们需要将集成测试与一般的单元测试分开。因为单元测试并不需要事先启动web服务,保证其执行速度快,能够得到更快的反馈。一般做法是单元测试后缀名为Test.java,集成测试后缀名为IntegrationTest.java。

  配置单元测试执行的测试集合。

  test {

  include ‘**/*Test.class‘

  exclude ‘**/*IntegrationTest.class‘

  }

  然后新建一个Task,用于运行集成测试。


build.gradle

task intTest(type: Test, dependsOn: test) {

include ‘**/*IntegrationTest.class‘

doFirst {

jettyRun.daemon = true

jettyRun.execute()

}

doLast {

jettyStop.execute()

}

}

  上述代码首先是创建一个名为intTest的task,其类型为Test,依赖于test task。该集成测试只会运行后缀名为IntegrationTest的测试类。在运行测试之前,首先采用后台模式启动jetty服务器,运行完测试后再调用jettyStop task停止jetty服务。

  为了使我们在运行gradle build时也会运行intTest task,可以添加对intTest的依赖。

  build.dependsOn intTest

  这样在运行gradle build时也会运行集成测试。并且在集成测试前后web服务会自动的启动和关闭。

使用Gradle运行集成测试

时间: 2024-08-29 13:14:33

使用Gradle运行集成测试的相关文章

解决Gradle运行命令时报Could not determine the dependencies of task ':compileReleaseJava'.

Could not determine the dependencies of task ':compileReleaseJava'. > failed to find target android-19 这个问题需要的在工程的根目录添加两个文件local.properties和settings.gradle这 两个文件 local.properties的内容是:你的SDK目录 sdk.dir=C:\\xiong\\android\\adt-bundle-windows-x86-20140321

如何从 Gradle 运行 Groovy 以及 Groovy 单元测试

apply plugin: 'groovy' repositories { mavenLocal()     mavenCentral() } dependencies {     compile 'org.codehaus.groovy:groovy-all:2.3.7' compile 'org.apache.ant:ant:1.9.4'     testCompile 'junit:junit:4.11' testCompile 'commons-io:commons-io:2.2' }

gradle运行java main

gradle自己没有类似maven archtype那样的根据原型初始化新的工程目录结构,这里写了一个task用来创建maven风格的目录结构 build.gradle文件: apply plugin: 'java' apply plugin: 'groovy' group = "com.ma" version = "1.0" ext{ // java文件编码方式设置为utf-8 compileJava.options.encoding = 'UTF-8' comp

Ubuntu18.04 运行 Gradle 4.9

简介 Gradle是一个基于Apache Ant和Apache Maven的项目自动化构建工具, 使用一种基于Groovy的特定领域语言(domain-specific language DSL)来声明构建设置. 支持多种语言项目的构建, 包含 Android, C++, Groovy, Java, Javascript, Kotlin, Scala. 官网 https://gradle.org/. 下载地址 https://gradle.org/releases/ . 安装 和maven一样,

Android开发:《Gradle Recipes for Android》阅读笔记(翻译)5.1——单元测试

问题: 你想要测试app中的非android部分. 解决方案: 可以使用Android Studio1.1里面增加的单元测支持和Android的Gradle插件. 讨论: ADT插件只支持集成测试,并且要求开发者创建一个单独的测试项目.转化到Android Studio和Gradle的其中一个好处就是支持在android项目内进行测试. 在AndroidStudio1.1之前和相关的Gradle插件,这些测试仍然被限制集成测试,意味着,你需要一个模拟器或者连接的设备才能进行测试.集成测试可以非常

6个技巧加速你的gradle编译

近期我们都在讨论build系统,我们看了一些技巧能够让你的Maven build更快. 结论和反映都势不可挡.由于我们提供的技巧,很多其它的人都非常高兴能加快他们完毕自己的项目.如今,让我们看一下怎么处理gradle编译项目. 编译的项目一般都是标准编译的,也都是独一无二的.差点儿全部的项目都添加了其自身的复杂性. 全部的东西都不同可是有一个东西是相同的:编译会占用你的时间,加快编译会影响你的开发效率,让你的项目工作更加顺畅. 事不宜迟,让我们来看看什么是Gradle.和它的理念: 加速Grad

加快AS的Gradle Build速度

随着项目的代码以及依赖库的日益增多,构建的速度却是越来越慢,Android Studio2.0 之后提供了Instant Run貌似福利来了,但经过一段时间的使用发现不尽如人意,最大的吐槽点是首次编译的速度真是慢的让人抓狂,编译当前的项目就得5分钟左右... 所以,我对Instant Run的目前选择是从入门到放弃...转而寻求其他方法,将构建耗时从5分钟减少到1分钟多,在此分享给感兴趣的同学. 一.创建配置文件 打开Mac用户名下的.gradle文件夹,在以下目录中: /Users/usern

[Gradle] 在 Eclipse 下利用 gradle 构建系统

转载自:http://www.ibm.com/developerworks/cn/opensource/os-cn-gradle/ 构建系统时候常常要用到 Ant, Maven 等工具,对于初学者来说,它们还是过于复杂,上手还是需要时间的.本文将向读者介绍一种全新的构建项目的方式 gradle,它简单.上手快,能大大节省项目的时间和成本. 在 eclipse 下利用 gradle 构建系统 基本开发环境 操作系统:本教程使用的为 Windows Vista Enterprise, 如果您的系统是

Maven提高篇系列之(二)——配置Plugin到某个Phase(以Selenium集成测试为例)

这是一个Maven提高篇的系列,包含有以下文章: Maven提高篇系列之(一)——多模块 vs 继承 Maven提高篇系列之(二)——配置Plugin到某个Phase(以Selenium集成测试为例) Maven提高篇系列之(三)——使用自己Repository(Nexus) Maven提高篇系列之(四)——使用Profile Maven提高篇系列之(五)——处理依赖冲突 Maven提高篇系列之(六)——编写自己的Plugin(本系列完) 持续交付要“自动化所有东西”,对于集成测试也是一样.集成