pytest简介和环境安装
pytest简介
pytest是一个用于Python的测试框架。它是一个功能强大且易于使用的工具,用于编写和运行单元测试、集成测试和功能测试。pytest提供了丰富的功能和灵活的用例编写风格,使得测试代码编写变得简单而高效。
使用pytest,可以编写独立的测试函数或方法,使用断言来验证代码的行为是否符合预期。pytest还提供了丰富的插件生态系统,可以扩展其功能,例如生成测试报告、集成持续集成工具等。
相较于Python标准库中的unittest
模块,pytest具有更简洁的语法和更丰富的功能。它支持自动发现测试文件和测试函数,可以方便地运行部分或全部的测试用例。此外,pytest还提供了丰富的命令行选项和插件,以满足不同项目和测试需求。
总而言之,pytest是一个功能强大、灵活且易于使用的Python测试框架,被广泛用于开发人员和测试人员之间的单元测试和集成测试。
pytest常用的库及作用
可以将pytest所属插件放到requirements.txt文件
pytest
pytest-xdist #测试用例分布式执行。多CPU分发。
pytest-ordering #用于改变测试用例的执行顺序(从上到下)
pytest-rerunfailures #用例失败后重跑
pytest-html #生成漂亮的HTML测试报告,包含测试用例的结果、统计信息和失败原因等。
allure-pytest #用于生成美观的测试报告pytest-cov #用于测试代码覆盖率的插件。它可以生成关于代码覆盖率的报告,帮助您确定测试是否覆盖了足够的代码。
pytest-xdist #提供并行测试的功能,可以加快测试的执行速度。它可以将测试用例分发到多个进程或多台机器上并行运行,从而提高测试的效率。
pytest-mock #提供了对Python的内置
mock
库的集成支持,方便进行模拟和替换操作,用于测试中的依赖项和外部资源。pytest-django #用于在Django项目中进行测试的插件。它提供了一些特定于Django的功能,如自动创建测试数据库、设置和销毁测试环境等。
pytest-selenium #用于在Web应用程序中进行自动化测试的插件。它提供了与Selenium WebDriver的集成,可以方便地进行浏览器自动化测试。
pytest-flask # 用于在Flask应用程序中进行测试的插件。它提供了一些特定于Flask的功能,如测试客户端、设置和销毁应用程序上下文等。
pytest使用简介
1.模块名必须以test_开头或者_test结尾
2.测试类必须以Test开头,并且不能有init方法。
3.测试方法必须以test开头
import pytest class Test_case: @pytest.mark.smoke def test_01(self): print("01测试用例") @pytest.mark.productmanage def test_02(self): print("02测试用例") def test_03(self): print("03测试用例") if __name__ == '__main__': pytest.main(['-vs','./test_demo.py::Test_case'])