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都能實現單元測試,并反饋結果,效果如下:
4、附錄
由于測試,肯定會涉及到一些帳號密碼或者密鑰之類不好公開的東西
travis-ci也提供了加密的方法,就是將明文密鑰設置為環境變量
在setting中找到如下的位置
將你想要設置環境變量填入,然后在test文件中調用設置好的環境變量即可
比如在python中
import os
ACCESS_ID = os.environ["ACCESS_ID"]
ACCESS_KEY = os.environ["ACCESS_KEY"]
這樣就能在一定程度上對密鑰進行加密。但是也并不能保證絕對的安全性,測試帳號請慎重考慮。