openstack测试之testr和tox

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 -- 
    # or
    run_tests.sh 
    

    首先要 active 你的虚拟环境

tox

  • tox是什么?

    tox是标准的virtualenv管理器和命令行测试工具。你可以用于:

    1. 检查你的软件包能否在不同的python版本或解释器下正常安装
    2. 在不用环境运行你的测试代码
    3. 作为持续集成服务的前端,大大减少测试工作所需哟啊的时间
  • 安装

    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的文件

你可能感兴趣的:(openstack测试之testr和tox)