Pytest简介

一.Pytest与其它基于python测试框架的区别

unittest:

    1.测试文件必须import unittest

    2.测试类必须继承unittest.TestCase

    3.测试方法必须以test开头

    4.不能独立生成测试报表

    5.初始化清除方法,只支持到类这一级别

    6.用于单元测试,或简单的系统测试

RobotFramework:

    1.关键字驱动

    2.自带一套语法

    3.自带测试报告输出功能

    4.自带log定位功能

Pytest:

    1.适合场景丰富,功能强大

    2.用例的语言也是纯python

    3.不能独立生成测试报告,报告需要其它插件来支持

    4.支持很多插件

    5.不导入pytest模块就可以执行用例

    6.可以支持unittest模式的用例

    7.测试用例的名称需要以test开头(如果测试用例封装在类里面,类名需以Test开头)

    备注:模块的命名要以“test”开头或者“_test.py”结尾

         类的命名要以“Test”开头

                         测试用例的命名要以“test_”开头

         目录名称可以不以'test'开头

 二.安装pytest:pip install pytest

三.简单代码示例: 

from api.compare_result import CompareResult
from api.gy import gy_v4

def test_gy1():
inputxml1 = 'C:/Users/cl/checkapi/data/input/recipegy.xml'
outputxml1 = 'C:/Users/cl/checkapi/data/output/recipegy.xml'
cmpr=CompareResult()
cmpr.compareXML(gy_v4,inputxml1,outputxml1)

def test_gy2():
inputxml2 = 'C:/Users/cl/checkapi/data/input/order_gy.xml'
outputxml2 = 'C:/Users/cl/checkapi/data/output/order_gy.xml'
cmpr2=CompareResult()
cmpr2.compareXML(gy_v4,inputxml2,outputxml2)

if __name__ == '__main__':
test_gy1()
test_gy2()

 四.pytest-html插件生成测试报告

  1.安装插件:pip install pytest-html

  2.执行命令:pytest test1.py --html=report.html

     如果想让测试报告的样式不丢失,可增加参数--self-contained-html,完整命令如下:pytest test1.py --html=report.html --self-contained-html

    

原文地址:https://www.cnblogs.com/pipile/p/12612725.html