365bet地区Gravis关于Travis基础知识

365bet地区在本指南中,我们将学习如何设置Travis CI来构建和测试365bet地区应用程序

s尼拉夫·阿萨尔·塞尔吉奥·德尔阿莫

365bet地区版本 4.0.1

365bet地区培训

365bet地区培训由创建并积极维护365bet地区框架的人们开发和交付

入门

每个软件项目都需要持续集成CI.

持续集成是在开发周期结束时经常合并小的代码更改而不是合并大型更改的实践,目的是通过以较小的增量进行开发和测试来构建更健康的软件
Travis CI文件

Travis CI是与GitHub无缝集成的持续集成平台,它通过自动构建测试和部署代码更改来支持您的开发过程

365bet地区在本指南中,您将在GitHub上创建365bet地区应用程序并使用构建和测试代码本指南假定您熟悉Git和GitHub,还假定您已经拥有一个365bet地区帐户该指南仅涵盖使用Travis构建和测试365bet地区应用程序,但是Travis CI具有部署发送通知和高度自定义CI作业的能力.

365bet地区Travis对开源项目有免费计划,因此,构建和测试开源365bet地区插件非常方便,您可能希望对社区做出贡献

您将需要什么

要完成本指南,您将需要以下内容

  • 花些时间在你手上

  • 体面的文本编辑器或IDE

  • 安装了JDK或更高版本JAVA首页适当配置

如何完成指南

要开始,请执行以下操作

要么

365bet地区指南存储库包含两个文件夹

  • 初始初始项目通常是一个简单的365bet地区应用程序,其中包含一些其他代码,可以帮助您快速入门

  • 完成一个完整的示例它是按照指南中介绍的步骤进行操作并将这些更改应用于文档的结果。初始

要完成指南,请转到初始

  • 光盘进入

并按照下一节中的说明进行操作

您可以直接前往完成的例子如果你光盘进入

编写申请

初始365bet地区网络天生与功能365bet地区365bet地区应用伪造.

申请

天生功能包括对最新版本的依赖天生与JDK不兼容如果您需要支持,请使用天生的改为功能

使用天生功能修改您的构建gradle如下

建立gradle
buildscript依赖类路径"" (1)应用插入:"与github erdi webdriver二进制文件" (1)依赖项testCompile"org grails出生的插件" (2)testRuntime"org seleniumhq硒硒铬驱动程序"  (3)testRuntime"" (4)测试编译"org seleniumhq selenium selenium远程驱动程序"  (5)测试编译"org seleniumhq硒api"            (5)测试编译""        (5)测试编译"org seleniumhq selenium htmlunit驱动程序"testRuntime'净sourceforge htmlunit htmlunit'webdriver二进制chromedriver'78.0.3904.105'  (6)geckodriver'0.26.0' (7)
}
1 应用Webdriver Binaries Gradle插件一个Gradle插件,该插件下载特定于构建在其上运行的操作系统的WebDriver二进制文件。该插件还将配置构建的各个部分以使用下载的二进制文件
2 包括一个测试编译365bet地区对Geb 365bet地区插件的依赖,该插件具有对给小鸡.
3 添加必要的硒依赖关系以使用Chrome
4 添加必要的硒依赖关系以使用Firefox
5 Geb建立在WebDriver的基础上,您需要这些测试编译依存关系
6 配置ChromeDriverWebdriver二进制Gradle插件要使用的版本
7 配置GeckoDriverWebdriver二进制文件Gradle Plugin使用的Firefox版本

单元测试

初始应用程序包含一个单元测试,该单元测试将验证默认的UrlMapping/.

src测试groovy示例grails UrlMappingsSpec groovy
例子 免费测试Web UrlMappingsUnitTest
 spock lang规格

 网址映射规范 延伸规格实施UrlMappingsUnitTest {

    虚空 "测试正向映射"() {
        期望verifyForwardUrlMapping"/", : '指数')
    }
}

整合测试

初始应用程序包含一个功能测试,该功能测试使用Geb来验证主页是否显示该句子欢迎来到365bet地区.

src集成测试groovy示例grails DefaultHomePageSpec groovy
例子 geb spock GebSpec
 grails测试mixin集成集成
 spock lang忽略

忽略系统'吉布环境'] }) (1)
积分
 DefaultHomePageSpec 延伸GebSpec定义 '验证那里

365bet地区当我们访问主页时,标题为“欢迎使用365bet地区”的文本

'
() { 什么时候'/' 然后: $('H'文本'欢迎来到365bet地区' } }
1 除非系统属性,否则忽略测试吉布环境存在

详细测试输出

在持续集成服务器中运行测试时,对于获得更详细的输出很有用

修改建立gradle:

建立gradle
类型测试testLogging事件的任务"通过了", "跳过", "失败了"exceptionFormat'充分'
    }
}

当我们执行测试时,我们将看到如下输出

gradlew测试示例grails UrlMappingsSpec测试正向映射PASSED

运行测试

验证到目前为止一切正常

gradlew Dgeb env chrome无头检查运行测试

grailsw grails测试应用程序grails打开测试报告

要么

gradlew检查打开构建报告测试索引html

创建GitHub存储库

365bet地区我们将需要将365bet地区应用程序放置在GitHub上,以便Travis可以访问它

前往GitHub并按照指示进行操作创建一个新的存储库.

在创建仓库时,将其设为公共选项,不要创建许可证和gitignore。我们正在导入现有代码库,因此我们希望避免冲突

添加许可证

添加MIT许可证文件带有开放源代码许可证的Travis CI是免费的您可以创建一个标题为的文件执照与内容

执照
特此授予MIT许可c Nirav Assar,任何人均可免费获得该软件和相关文档文件的副本的许可,该软件可不受限制地使用该软件进行交易,包括但不限于使用复制,修改,合并,发布,分发,再授权和/或出售软件的副本,并允许提供软件的人员在符合以下条件的情况下进行销售:上述版权声明和本许可声明应包含在软件的所有副本或重要部分中。本软件不提供时提供任何形式的明示或暗示的担保,包括但不限于对特定目的的适销性的担保,并且在任何情况下均不构成侵权,对于任何索赔或其他责任,作者或版权持有人均不承担责任。因连接不当而产生与软件或软件的使用或其他交易相关的离子

让我们创建一个空的特拉维斯建立嘘我们将在本指南的后面部分中使用

触摸travis构建sh

通过执行以下命令将代码导入GitHub上的仓库中

git init git add git commit m首先提交git remote add origingit push u原始主机

授予文件执行权限

365bet地区为了让Travis执行365bet地区构建,必须更改某些文件的访问权限或模式,我们将使用chmod在Git内

授予权限Gradlew特拉维斯建立嘘:

chmod x gradlew chmod x gradlewtravis构建sh git commit m chmod a x gradew和travis构建sh git push

集成Travis CI

Travis CI与您的GitHub帐户直接集成按照Travis网站上的说明进行操作入门

简而言之,您将需要

  1. 使用您的GitHub帐户登录Travis

  2. 授予Travis访问您的存储库的权限

  3. 使用Travis CI启用存储库

  4. 创建一个特拉维斯

下图显示了如何使用Travis CI启用存储库

特拉维斯

创建Travis配置文件

特拉维斯365bet地区文件告诉Travis怎么做它必须位于项目的顶层。对于365bet地区项目,请注意,我们已将语言习惯Travis带有合理的默认值建立gradle在存储库根目录Travis中运行gradlew组装在里面安装相和gradlew检查在里面测试

特拉维斯
须藤:  # (1)
缓存前:
  - rm f HOME gradle缓存模块模块锁
快取:
  目录:
    - HOME Gradle缓存
    - HOME gradle包装器 # (2)
语言: 时髦 # (3)
杰克:
  - 甲骨文jdk #  (4)
1 提供默认的Ubuntu基础架构
2 这行缓存前缓存配置明确告诉Travis CI您要存储和使用Gradle缓存和Wrapper来连续调用生成Read在travis ci上执行Gradle.
3 选择时髦作为语言
4 选择爪哇杰克

将更改提交到Git,将其推送到远程存储库https travis ci com并查看构建的运行情况一旦构建完成,请重新启动构建,以演示Travis将使用缓存进行依赖

摇篮校验任务同时执行测试集成测试365bet地区依次执行365bet地区单元和集成功能测试的任务然而,特征方法DefaultHomePageSpec如果不指定系统属性,将被忽略吉布环境.

委托给脚本文件

为了使构建更具表达力,我们可以委派给脚本文件。在这种情况下,Travis将执行指定的文件并跳过默认值。特拉维斯代表一个SH文件

特拉维斯
须藤: 
插件:
  : 稳定 # (1)
缓存前:
  - rm f HOME gradle缓存模块模块锁
快取:
  目录:
    - HOME Gradle缓存
    - HOME gradle包装器
语言: 时髦
安装: # (2)
  - 
杰克:
  - OpenJDK
脚本: "特拉维斯建立嘘" #  (3)
1 Google Chrome插件允许Travis CI构建在运行时安装Google Chrome要使用该插件,您需要在Trusty构建环境或OS X构建环境上运行构建
2 完全跳过安装步骤
3 委托给脚本

下面的脚本同时运行单元和集成功能测试Geb测试是使用Chrome以无头模式运行的

特拉维斯建立嘘
bin bash退出状态echo使用geb env chromeHeadless gradlew Dgeb env chromeHeadless check EXIT STATUS运行测试(1)退出退出状态
1 执行gradlew Dgeb env chrome无头检查命令

将更改提交到Git,将其推送到远程存储库https travis ci com并查看构建运行

365bet地区帮助365bet地区

365bet地区服务:

免费咨询

OCI 365bet地区团队包括365bet地区联合创始人检查我们的并向发展和维护365bet地区的工程师学习

Grails OCI团队