美文网首页
基于travis-ci的单元自测

基于travis-ci的单元自测

作者: lewzylu | 来源:发表于2017-07-26 11:59 被阅读0次

1、travis-ci简介

Travis CI 是目前新兴的开源持续集成构建项目,它与jenkins,GO的很明显的特别在于采用yaml格式,简洁清新独树一帜。目前大多数的github项目都已经移入到Travis CI的构建队列中,据说Travis CI每天运行超过4000次完整构建。

2、基本设置

https://travis-ci.org/

在travis-ci上登录你的github帐号,在仓库设置中将需要测试的仓库打勾

在通用设置中这样设置


3、测试流程

3.1 nose介绍

使用Python开发的估计都知道unittest,与Java中的JUnit一样,编写测试用例需要遵守一定的规则。而nose继承自unittest,且比unittest更容易使用。
官网:https://nose.readthedocs.org/en/latest/index.html

3.2 使用指南

3.2.1 安装

pip install nose

3.2.2#本地测试

在你的根目录下新建一个test开头的py文件,并在这个文件中新建setUp,tearDown和一堆Test开头的函数。

# -*- coding=utf-8
def setUp():
    print "start test"


def tearDown():
    print "function teardown"


def Test1():
    rt = function1()
    assert rt == 200


def Test2():
    rt = function2()
    assert rt == 200

并在当前目录下执行命令

nosetests

或者加上一些参数。
nose就会以setUp => Test1 => Test2 => ... => tearDown的顺序开始测试 。

3.3 nose+travis-ci

在根目录下新建 .travis.yml 文件

sudo: false
language: python

python:
  - "2.6"
  - "2.7"

install:
    - pip install requests
    - pip install nose
    - pip install pep8
    
script:
    - pep8 --max-line-length=180 qcloud_cos/.
    - nosetests -s

sudo

是否使用管理员权限

language

搭建哪一种语言的环境

python

选择哪一种版本的python

install

使用pip安装测试需要用的的库

script

选择运行的测试命令

提交测试文件

将.travis.yml 和 test.py提交到你的仓库中,这样一来travis-ci的集成测试就部署完了,之后你的每一次提交或修改,travis-ci都能实现单元测试,并反馈结果,效果如下:

每一个分支每一次提交都会测试 查看测试日志1 查看测试日志2

4、附录

由于测试,肯定会涉及到一些帐号密码或者密钥之类不好公开的东西
travis-ci也提供了加密的方法,就是将明文密钥设置为环境变量
在setting中找到如下的位置



将你想要设置环境变量填入,然后在test文件中调用设置好的环境变量即可
比如在python中

import os
ACCESS_ID = os.environ["ACCESS_ID"]
ACCESS_KEY = os.environ["ACCESS_KEY"]

这样就能在一定程度上对密钥进行加密。但是也并不能保证绝对的安全性,测试帐号请慎重考虑。

相关文章

  • 基于travis-ci的单元自测

    1、travis-ci简介 Travis CI 是目前新兴的开源持续集成构建项目,它与jenkins,GO的很明显...

  • 第一周

    以下所有内容都是基于 这周的作业 的记录,主要是讲解配置travis-ci和coverage的心路历程,主要是倾...

  • 读王君《最美语文课》(四十九)

    群文教学是什么? 基于单篇课文内部的同质信息的整合;基于单元之内进行的文本整合;基于单元与单元之间的文本整合;基于...

  • 理解 Unittest 框架(C)

    (转自测试前辈) 单元测试的重要性就不多说了,可恶的是python中有太多的单元测试框架和工具,什么unittes...

  • PHP生态之自动化测试

    在长久的工作经历中,测试大佬常会在你耳旁嘀咕开发要自测要自测。但是实际上开发往往只会关心当前负责的单元功能的正确与...

  • Linux-端口监听

    注意: 基于Centos6.9系统,其它请自测。 命令行: netstat -an | grep 端口号

  • 基于travis-ci 的 持续集成基础

    前言 本文基于node.js,但是 travis - ci 兼容大多主流语言,基本流程都差不多,详细参考:http...

  • Linux-SSH

    注意: 基于Centos6.8系统,其它请自测。 命令行: 查看SSH状态servicesshd status 重...

  • Linux-Java安装

    注意: 基于Centos6.8系统,其它请自测。 命令行: 查看Java版本 java -version 使用...

  • Linux-Redis安装

    注意: 基于Centos6.8系统,其它请自测。 官网 https://redis.io/https://redi...

网友评论

      本文标题:基于travis-ci的单元自测

      本文链接:https://www.haomeiwen.com/subject/okjbkxtx.html