单元测试介绍
单元测试(Unit test)是对代码的细粒度测试,一般每写一个函数都需要写对应的测试用例。运行单元测试不应该依赖外部环境,如果依赖其他程序,可以通过mock来模拟环境。
Python项目使用标准的单元测试库来写测试用例,并可以通过业界标准工具tox来运行,部分OpenStack项目还提供了run_tests.sh脚本来简化运行。
准备环境
安装Python,通过apt-get install python-dev
安装pip,通过apt-get install python-pip
安装virtualenv,通过pip install virtualenv
安装tox,通过pip install tox
安装postgres,通过apt-get install libpq-dev
安装xml和xslt库,通过apt-get install libxml2-dev libxslt1-dev
安装ffi库,通过apt-get install libffi-dev
使用run_tests.sh
以manila项目为例:
git clonehttps://github.com/openstack/manila.git
cd manila/
./run_tests.sh
使用tox
tox -epy27 --
使用testr
testr run
检查UT覆盖率
./run_tests.sh --coverage
运行UT加上参数,可以生成显示覆盖率的HTML文件,直接用浏览器打开就可以了,google-chrome covhtml/index.html。
Troubleshoot
报错from oslo.config import cfg,ImportError: No module named config
因为项目依赖的oslo的版本和requirements.txt的版本不对,一般是使用了太新的oslo库,需要限制其最高版本。
oslo.config>=1.6.0,<=1.7.0
OpenStack项目运行单元测试
发表于:2017-01-09
作者:网络转载
来源:
 相关文章
如何为 Nest.js 编写单元测试和 E2E 测试 精通Python单元测试:掌握Unittest模... 单元测试系列之一开篇 单元测试的实践与思考 Python单元测试之道:从入门到精通 单元测试的重要性:编写更安全、更可...- 周排行
- 月排行
-   单元测试指南
-   单元测试框架和覆盖率统计原理简析
-   淘系用户平台技术团队单元测试建设
-   Android 单元测试,从小白到入门开始
-   每个开发者都应该懂一点单元测试
-   单元测试之SmtpClient
-   Mock在Python单元测试中的使用
-   单元测试框架和覆盖率统计原理简析
-   2020,你需掌握go 单元测试进阶篇
-   Python测试框架pytest的八个强大插件
-   Android 单元测试,从小白到入门开始
-   如何为 Nest.js 编写单元测试和 E2E 测试
-   如何编写优秀的测试代码·单元测试篇
-   什么是单元测试,为什么要做单元测试