生命不息,奋斗不止。
对于日常使用python的通用框架unittest+HTMLTestRunner来说,再学习一个新框架主要是为了脱离python鄙视链,O(∩_∩)O哈哈~
python鄙视链:pytest 鄙视 > unittest 鄙视 > robotframework 鄙视 > 记流水账 鄙视 > "hello world"小白
pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点:
官方手册地址 https://docs.pytest.org/en/latest/getting-started.html#install-pytest
1.安装pytest
pip install pytest
pytest --version #查看安装的版本 验证是否安装成功
2.安装html报告插件
pip install pytest-html
除开 pytest-html插件外 ,pytest还具备丰富的插件库
pytest插件汇总站点:http://plugincompat.herokuapp.com/
编写pytest测试样例非常简单,只需要按照下面的规则:
1、创建一个文件为:test_demo.py
#!/usr/bin/python3 # -*- coding: utf-8 -*- def test_1(): assert 1==1
2.运行
运行有两种方式
第一种,通过dos命令或者pycharm的命令窗口输入pytest
结果如下:
Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。 (venv) E:\学习\pytest_code>pytest ============================================================ test session starts ============================================================ platform win32 -- Python 3.6.5, pytest-4.5.0, py-1.8.0, pluggy-0.12.0 rootdir: E:\学习\pytest_code collected 1 item test_demo.py . [100%] ========================================================= 1 passed in 0.02 seconds ==========================================================
注意:1.只输入pytest命令时,默认对当前项目目录下查找符合命名规则的case。
2.可以输入 pytest 文件名 指定执行某一个文件中case
#!/usr/bin/python3 # -*- coding: utf-8 -*- import pytest def test_1(): assert 1==1 if __name__ == ‘__main__‘: pytest.main()
原文:https://www.cnblogs.com/hn-daxiong/p/12508100.html