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 查看测试日志24、附录
由于测试,肯定会涉及到一些帐号密码或者密钥之类不好公开的东西
travis-ci也提供了加密的方法,就是将明文密钥设置为环境变量
在setting中找到如下的位置
将你想要设置环境变量填入,然后在test文件中调用设置好的环境变量即可
比如在python中
import os
ACCESS_ID = os.environ["ACCESS_ID"]
ACCESS_KEY = os.environ["ACCESS_KEY"]
这样就能在一定程度上对密钥进行加密。但是也并不能保证绝对的安全性,测试帐号请慎重考虑。
网友评论