1. 程式人生 > >openstack專案怎麼進行單元測試

openstack專案怎麼進行單元測試

        openstack社群推崇的是使用tox進行單元測試,tox只需要配置好tox.ini就可以了,比較靈活也比較簡單。在opensatck的專案程式碼中也有包含tox配置,安裝好tox之後就可以對專案程式碼進行單元測試。

        本文給出CentOS7下tox的安裝與使用方法。

一、安裝tox

1.安裝pip

easy_install pip  

2.設定pip源

pip官方源下載比較慢,我們可以設定一個國內的源。

$ mkdir ~/.pip

$ vim~/.pip/pip.conf

[global]

timeout =6000

index-url= http://mirrors.aliyun.com/pypi/simple

[install]

trusted-host= mirrors.aliyun.com

3.安裝tox

pip install tox

3.安裝依賴外掛

yum install gcc libffi-devel python-devel openssl-devel
yum install git

yum install mysql-devel
yum install postgresql postgresql-devel python-devel
yum install libxslt-devel libxml2-devel

二、Tox簡單使用

tox的使用非常簡單,每個openstack專案已經配置好了tox.ini,專案程式碼路徑下然後執行tox即可。

在tox.ini部分配置測試環境,例如
envlist = py27,py33,py34,pep8
即配置測試環境為python 2.7, python 3.3, python 3.4和pep8
如果需要跑py27和pep8這兩個環境的測試,可以使用以下命令:
tox -e py27,pep8
-e表示在哪種環境下測試。
tox會為每個環境建立一個虛擬環境,放在.tox目錄(tox會自動建立),然後自動安裝依賴包。

測試命令舉例(在專案程式碼根目錄執行以下命令,以nova為例):

tox -e py27,pep8                                                               ##對整個專案進行py27與pep8測試

tox -e pep8                                                                         ##只測試pep8

tox -e py27 nova.tests.unit.virt.libvirt                             ##對libvirt整個目錄用例進行py27測試

tox -e py27 nova.tests.unit.virt.libvirt.test_driver         ##對test_driver.py檔案中所有用例進行py27測試