Python pytest模块学习笔记之基本篇

一、命名要求

  • 模块(py文件)一般以test_开头
  • pytest的测试集(类)必须以Test_开头
  • 用例(方法,可以单独定义,不在类中)必须以test_开头
    也可以以_test结尾

二、运行程序pytest

1.在终端运行

  • 在需要运行的py文件中右击空白处,如下图,点击open in terminal


    右击菜单列表
  • 输入pytest py文件全称


    image.png
image.png

1.1在终端运行的方法

  • pytest 文件名.py
  • pytest 文件名.py::类名
  • pytest 文件名.py::类名::方法名
    前面可以加参数

1.2在终端运行的基本参数

参数名 含义
不带参数执行 pytest,将会读取当前路径下所有符合规则的文件,类,方法,函数全部执行
-v 打印详细运行的日志信息,方便定位问题
-s 可以在控制台输出结果,当代码中有用到print语句输出信息时,不加这个参数的话,控制台是不会显示print的内容的
-k 使用该参数可以指定运行满足要求的用例(在当前目录下查看所有test开头的py文件中是否有符合要求的)

k 参数使用详情:不能在pytest.main中加k参数

  • pytest -k "类名"
  • pytest -k "方法名"
  • pytest -k "类名 and not 方法名"
主代码

运行结果


2.在py文件中运行

打开【file】——【settings】,看下图设置pytest与Unittest运行方法


设置pytest运行环境

三、断言

pytest可以直接使用Python内置断言assert

  • assert * is *
  • assert * == *
  • assert * in *
    其实就assert加表达式,表达式正确就通过,否则失败

四、html报告

1.安装pytest-html

pip install pytest-html

2.使用

import pytest

if __name__ == '__main__':
    #运行全部
    pytest.main(['-s', '-v', '--html=report.html'])
    #可以运行指定运行单个py,或者,单个类,或者单个方法,如下:
    #pytest.main(['-s', '-v', 'test_pytest.py::Test_suit::test_case1','--html=report.html'])

结果


3.注意

  • 生成html的文件必须要要和主文件分开做一个py文件
  • 这种方法我在终端不能生成html

你可能感兴趣的:(Python pytest模块学习笔记之基本篇)