openstack 测试之 testr and tox
testr
-
testr
用于运行python测试仓库的测试用例,是 testrepository的一部分。 testr 通过你测试运行器,列出你所有的测试。 将其列表划分为与当前计算机可用的cpu数量匹配的多个分区。分别运行测试用例。 测试用例会保存好测试清单,成功失败,以及统计信息。用来方便给测试人员统计查看
-
Using test
openstack的Nova, neutron,和 keystone都使用了testr。想查看项目是否使用testr 查看项目根目录下有没有tox.ini
tox -epy27 # or tox -epy35 # or tox -ecover # or run_tests.sh
-
writing tests for testr
测试 nova.test.test_something
tox -epy27 -- <test_something> # or run_tests.sh <test_something>
首先要 active 你的虚拟环境
tox
-
tox是什么?
tox是标准的virtualenv管理器和命令行测试工具。你可以用于:
- 检查你的软件包能否在不同的python版本或解释器下正常安装
- 在不用环境运行你的测试代码
- 作为持续集成服务的前端,大大减少测试工作所需哟啊的时间
-
安装
pip install tox
-
简单使用
使用前需要确保系统中已经安装了不用版本的pytoh解释器
~$ python -V Python 2.7.6 ~$ python2.6 -V Python 2.6.9 ~$ python3.3 -V Python 3.3.2+ ~$ python3.4 -V Python 3.4.0 ~$ pypy -V Python 2.7.3 (2.2.1+dfsg-1, Nov 28 2013, 05:13:10) [PyPy 2.2.1 with GCC 4.8.2]
-
tox.ini 设置
# content of: tox.ini , put in same dir as setup.py [tox] envlist = py27,py36 [testenv] # 测试时要执行的命令 # install pytest in the virtualenv where commands will be executed deps = pytest commands = # NOTE: you can run any command line tool here - not just tests [base] # 定义名为base的环境 deps = pytest pytest
-
setup.py文件
可以通过tox-quickstart 可以快速对项目进行测试文件的创建。自动测试文件名为test*.py的文件
网友评论