pytest教程-1-环境搭建

1、pytest简介

Pytest是Python的一种单元测试框架,与Python自带的unittest测试框架类似,但是比 unittest框架使用起来更简洁,效率更高。

2、pytest特点

Pytest是一个非常成熟的Python测试框架,主要特点有以下几点:

  • 非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考
  • 能够支持简单的单元测试和复杂的功能测试
  • 支持参数化
  • 执行测试过程中可以将某些测试用例跳过(skip),或者对某些预期失败的case标记成失败
  • 支持重复执行(rerun)失败的 case
  • 支持运行由 nose, unittest 编写的测试 case
  • 可生成html 报告
  • 方便jenkins持续集成
  • 可支持执行部分用例
  • 具有很多第三方插件,并且可以自定义扩展

3、pytest安装

在安装pytest前,首先要确保python环境和pip装包工具正确安装,方法如下:

cmd命令行输入python,下图表示已经正常安装python 3.9.12版本

pytest教程-1-环境搭建_第1张图片

cmd命令行输入pip -V,下图表示 pip装包工具已经安装好了

安装pytest cmd执行命令 pip install pytest

pytest教程-1-环境搭建_第2张图片

确认pytest是否安装成功,cmd执行命令 pip list

pytest教程-1-环境搭建_第3张图片

以上步骤确认无误后,就代表pytest已经正常安装了。

4、pytest示例运行

打开pycharm工具新建一个项目pytest_demo

pytest教程-1-环境搭建_第4张图片

新建一个py文件如test_one.py

def test_pass():
    assert 1 + 1 == 2
class TestDemo:
    def test_one(self):
        assert 1 + 1 > 2

    def test_two(self):
        assert 1 + 1 == 2

    def test_three(self):
        assert 1 + 1 < 2

pytest用例编写规则如下:

  • 测试文件以test_开头(以_test结尾也可以)
  • 测试类以Test开头,并且不能带有 __init__ 方法
  • 测试函数以test_开头
  • 断言使用基本的assert即可

pytest运行用例方法如下:

  • pytest tests/ 执行tests文件目录下的所有用例
  • pytest test_mod.py::test_func 运行test_mod.py.py 模块里面的函数test_func
  • pytest test_mod.py::TestClass::test_method运行test_mod.py模块里面测试类TestClass里面的test_method 方法

运行示例1:

在pycharm终端中执行命令 :pytest .\test_one.py::test_pass
 

上图表示1条case执行成功pass。

运行示例2:

在pycharm终端中执行命令:pytest .\test_one.py::TestDemo

pytest教程-1-环境搭建_第5张图片

上图表示该测试类有2条case执行成功,1条case执行失败,并抛出了错误日志。

你可能感兴趣的:(pytest教程,pytest)