github项目添加Travis机器人

逻辑追月客
• 阅读 3207

第一次为项目配置Travis机器人,在这里跟大家分享一下配置的过程。

前言

在一个项目中,测试可以说是一个非常重要的部分。单元测试就是其中一个很重要的组成部分。

但我们每次写完单元测试都只是跑自己写的测试,而且往往在一个很大的项目中跑一边单元测试要很长时间,而且跑单元测试非常占资源,会很卡。

如果能有一个机器人帮我们做这项工作就好了。

Travis就是这么一个可以帮助我们实现这个愿望的小工具。

预期的效果

完成自己的代码,使用git push提交到github,建立pull request的时候,Travis自动执行所有的单元测试,然后将执行的结果消息发送到我们设置的钉钉群组中。

github项目添加Travis机器人

如何配置

首先,要在项目的根目录新建.travis.yml的配置文件,Travis的配置都写配置文件中。

1.首先要声明语言

我们的项目使用的java,所以语言就是java

language: java

可以参考官方文档配置你自己的项目:构建Java项目

2.JDK版本

我这里使用的版本是oraclejdk8

jdk:
  - oraclejdk8

当然,你也可以选择其他支持的任意版本。也可以对多个版本的jdk进行测试:多JDK版本

3.配置所需服务

可以配置多个服务,如mysql redis

services:
  - mysql
  - redis-server

4.声明系统

可以手动声明跑测试的系统(可以不设置)

dist: xenial(Ubuntu Xenial)

5.创建数据库

执行代码测试之前,必不可少的就是先创建数据库:

before_install:
  - mysql -e 'CREATE DATABASE IF NOT EXISTS baeldung default charset utf8 COLLATE utf8_general_ci;' -uroot

因为我们上面配置使用的服务是mysql,所以这里也是使用mysql来创建数据库。

6.执行脚本

script:
   - cd api
   - java -version
   - javac -version
   - mvn test

cd api(我这里后台文件夹为api)进入项目后台,mvn test执行测试

7.设置通知方式

当机器人执行单元测试完成后,我们需要知道测试的结果。

但是我们有不希望每次去github上看测试结果。

所以在这里使用钉钉。每次机器人测试结束后,就会将测试结果发送到钉钉群中。

1)添加钉钉机器人

点击钉钉右上角的:...
github项目添加Travis机器人

点击智能群助手->添加机器人->选择要添加的机器人(这里选择的是Travis:)
github项目添加Travis机器人

然后复制webhook

github项目添加Travis机器人

完成。我们可以看见群组中已经添加的机器人:

github项目添加Travis机器人

2)配置通信

回到我们的配置文件中,添加配置项:

notifications:
  email: false
  webhooks: https://oapi.dingtalk.com/robot/send?access_token=6256f718705cf7491d9b7806a9adf28806ebfc87aebb5e3878a5fb72512167c3

到此,配置文件创建完了。

Travis远比我使用的这些功能要强大的多。不仅仅只支持测试。其它功能还要遇到实际需求在去探索。

官方文档

https://docs.travis-ci.com/

点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
Jetbrains Idea 内 CoffeeScript 的 mocha 单元测试的配置
都9012年了,idea怎能还不更新呢~换上了idea2018版本,果然舒服很多,因为本人的jsnode项目都是用coffee写的,但是在跑单元测试的时候遇到了一点问题idea下的mocha单元测试配置方式在这里记录一下首先得要安装号mocha的idea插件打开idea顶部工具栏"RUN""EditConfigurations
Stella981 Stella981
3年前
Mock工具之Mockito实战
在实际项目中写单元测试的过程中我们会发现需要测试的类有很多依赖,这些依赖项又会有依赖,导致在单元测试代码里几乎无法完成构建,尤其是当依赖项尚未构建完成时会导致单元测试无法进行。为了解决这类问题我们引入了Mock的概念,简单的说就是模拟这些需要构建的类或者资源,提供给需要测试的对象使用。业内的Mock工具有很多,也已经很成熟了,这里我们将直接使用最流行的Moc
Stella981 Stella981
3年前
Jmeter+Ant+Jenkins接口自动化测试框架搭建for Windows
前言软件开发的V模型大家都不陌生,其中测试阶段分为单元测试→功能测试→系统测试→验收测试。其中单元测试一般由开发同学们自己完成,大部分测试具体实施(这里不包括用例设计)是从单体功能测试开始着手的。!(https://usergoldcdn.xitu.io/2018/11/12/16706895ac09c25d?imageView2/0/
Easter79 Easter79
3年前
SpringCache的事务管理与单元测试
项目背景在某个项目中,使用了SpringCacheredis作为缓存解决方案,jpa作为orm在单元测试时,在执行某步操作时,需要往缓存中放入数据,之后启用断言判断对应的缓存是否存在,结果全部报缓存不存在项目配置springCache@BeanpublicCacheManager
Stella981 Stella981
3年前
Spring Boot(十一):Spring Boot如何测试打包部署
一、开发阶段(一)单元测试在开发阶段的时候最重要的是单元测试,SpringBoot对单元测试的支持已经很完善了。1、在pom.xml文件中添加依赖<dependency<groupIdorg.springframework.boot</groupId<artifactIdspringb
Wesley13 Wesley13
3年前
Java单元测试总结
  单元测试的重要性这里就不说了,直接进入正题。很多程序员不喜欢写单元测试,导致项目经常会花很多时间去debug,这完全得不偿失。对关键方法进行单元测试,可以在早期业务逻辑还没那么复杂的时候,尽快排除症结。  在dao,manager,server,web这样的分层项目中,通常单元测试是要写在server层的,因为server层可以测的最多。本文中不介绍
Wesley13 Wesley13
3年前
C++单元测试
一、简介 单元测试作为白盒测试的一项基本技能,越来越受到测试行业界的青睐,掌握单元测试技能,将会在你面试、找工作中增加一份筹码。 如果之前没有掌握单元测试的基本方法,本系列单元测试的文章将带领你从入门到精通,一步一个脚印见证你的测试技能成长之路。 GTest是Google开源的一个C单元测试框
Stella981 Stella981
3年前
Django单元测试
单元测试​单元测试是实际开发中很重要但也经常被忽视的部分,其主要原因是编写Web功能测试所耗费的时间可能会大于你开发此功能的时间,因此,对于需要快速开发、上线的业务来说,项目中关于单元测试的部分很少。但是对于需要长期维护的项目,还需要考虑增加单元测试。只是第一次编写时会比较耗费时间,一旦基础结构完成,后续跟着功能的增加来增加单元测试并不会耗费
Java单元测试及常用语句 | 京东物流技术团队
编写Java单元测试用例,即把一段复杂的代码拆解成一系列简单的单元测试用例,并且无需启动服务,在短时间内测试代码中的处理逻辑。写好Java单元测试用例,其实就是把“复杂问题简单化,建单问题深入化“。在编写的过程中,我们也可以对自己的代码进行一个二次检查。
一种极简单的SpringBoot单元测试方法| 京东零售技术团队
前言本文主要提供了一种单元测试方法,力求0基础人员可以从本文中受到启发,可以搭建一套好用的单元测试环境,并能切实的提高交付代码的质量。极简体现在除了POM依赖和单元测试类之外,其他什么都不需要引入,只需要一个本地能启动的springboot项目。目录1.P
死牛胖子 死牛胖子
1年前
Maven配置跳过单元测试
Maven构建时,如果项目中写了测试用例,则会执行单元测试,这会导致构建过程非常漫长,如果测试失败,还会中止构建,所以构建时更多选择跳过单元测试阶段。
逻辑追月客
逻辑追月客
Lv1
明明都无言以对,还要硬聊,这就是喜欢
文章
9
粉丝
0
获赞
0