移动测试——pytest测试框架

pytest是⼀个⾮常成熟的全功能的Python测试框架,主要特点有以下⼏点:

  1. 能够⽀持简单的单元测试和复杂的功能测试,还可以⽤来做selenium/appnium 等⾃动化测试、接口⾃动化测试(pytest+requests);
  2. pytest具有很多第三⽅插件,并且可以⾃定义扩展,⽐较好⽤的如pytestselenium(集成selenium)、pytest-html(完美html测试报告⽣成)、pytestrerunfailures(失败case重复执⾏)、pytest-xdist(多CPU分发)等;
  3. 测试⽤例的skip和xfail处理;
  4. 可以很好的和jenkins集成;

实用注意:

  • pytest只能识别以test_开头和_test结尾的.py⽂件,识别以test.开头的所 有⽅法、类
  • 测试类必须以Test开头,并且不能有 init ⽅法
  • 测试⽅法必须以test_开头
  • 如果当前⽂件夹下有多个⽂件,test_sample2.py , test_sample3.py 想 要运⾏所有的测试⽤例,只需要运⾏命令:pytest就可以了。如果运 ⾏单个⽂件,则运⾏命令: pytest test_sample2.py •
  • 断⾔使⽤基本的assert即可。

命令参数

命令 解释
pstest --version 显示版本信息
pytest --fixtures 显示可用的内置函数
pytest -h | --help 显示参数和配置信息
pytest --lf 运行上一次失败案例
pytest -x | --exitfirst 第一次失败后停止
pytest --maxfail=2 第二(n)次次失败后停止
pytest test_mod.py 运行单个文件中的用例
pytest testing/ 运行文件夹下的用例
pytest test_mod.py::TestClass::test_methos 运行模块下类特定的方法
pytest -m slow marker运行测试用例(运行所有被装饰器标记@pytest.mark.slow的用例)
pytest --prargs pkg.testing 从包中运行测试用例(要导入 import pkg.testing)
pytest -ra 运行测试用例(显示测试总的结果信息,输出信息的最后)
pytest -rp 运行测试用例(显示测试 通过的结果信息,输出信息的最后)
pytest -rE 运行测试用例(显示测试错误的结果信息,输出信息的最后)
pytest -rs 运行测试用例(显示测试跳过的结果信息,输出信息的最后),也可以结合使用 -ref 显示跳过的失败的
pytest -v pytest1.py -v 用于显示每个测试函数的执行结果
pytest -q pytest1.py -q 只显示整体测试结果
pytest -s pytest1.py -s 用于显示测试函数中print()函数输出
pytest --durations=10 获得最慢的10个测试持续时间表
pytest --junitxml=path s生成一个结果集xml文件,可用于Jenkins持续集成
pytest --pastebin=failed 为每个失败的用例创建一个url
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章