首页 > 其他 > 详细

pytest_lesson1

时间:2020-11-02 00:26:46      阅读:35      评论:0      收藏:0      [点我收藏+]

pytest初识

pytest简介

pytest是Python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。
执行测试过程中可以将某些测试跳过,或者对某些预期失败的case标记成失败
能够支持简单的单元测试和复杂的功能测试
支持重复执行失败的case
支持运行由nose, unittest编写的测试case
具有很多第三方插件,并且可以自定义扩展
方便的和持续集成工具集成
支持参数化

pytest安装

技术分享图片

 

pytest使用示例

直接上代码

import pytest
#测试用例可以直接使用函数,非必要使用类;用例的名称必须包含 test字符串。pytest使用函数执行测试用例基本示例
#函数级别的setup/teardown示例
def setup_function():
    print("this is function setup,pre test_case todo")

def teardown_function():
    print("this is function teardown,post test_case todo")

def setup_module():
    print("模块级别setup,模块运行前执行")

def teardown_module():
    print("模块级别teardowm,模块运行后执行")

def test_01():
    print("this is my pytest_case_01")
    assert 1 #断言成功

def test_02():
    print("this is my pytest case_02")
    assert 0 #断言失败,用来判断用例是否通过或或失败

#pytest使用类执行测试用例基本示例
class TestClass01:
    def setup_class(self):
        print("类的setup,类执行前执行一次")
    def teardown_class(self):
        print("类的tear,类执行后执行一次")
    def setup_method(self):
        print("方法setup,类方法执行前执行一次")
    def teardown_method(self):
        print("方法tear,类方法执行后执行一次")
    def test_class_01_method_01(self):
        print("这是测试类的方法01")
        assert 1
    def test_class_01_method_02(self):
        print("这是测试类的方法02")
        assert 1

if __name__ == __main__:
    #用例执行的固定模式,直接传入模块名.   -s是指输出详细测试结果
    pytest.main([-s, pytest_test_01.py])

"""
pytest使用步骤
1、导入Pytest
2、编写测试用例
    无需再测试类下面编写测试用例,可以直接写测试函数
    测试函数名必须以test字符串开始或者结束
3、pytest框架下执行用例
    在py文件内执行测试用例
        pytest.main(["-s", "模块名.py"]) -s列出详细的测试结果
查看测试结果
    .表示用例执行通过
    F表示用例执行失败
模块级别和函数级别setup和teardown;setup和teardown的执行不受测试用例的执行失败还是成功影响,即都会执行
    setup_function()/teardown_function()在每个测试用例执行前后执行一次(不在测试类中)
    setup_module()/teardown_module()在模块执行前后分别执行
    setup_class/teardown_class()对类执行作用
    setup_method/teardown_method()对类中的方法作用
pytest测试类总结
    测试类不需要__init__方法
    测试类名和测试方法名都需要以test开头或者结尾
    执行时可以模块名::类名来选择性执行模块下具体的类
4、pytest的配置文件
    pytest运行方式:
        主函数中执行:pytest.main(["-s","moudel_name.py"])
        命令行执行:测试用例所在目录下进入命令行D:\Python\pytest_study\pytest_study>pytest -s pytest_test_01.py 来执行用例,项目根目录下pytest 相关参数  执行文件
        pycharm中直接在terminal窗口直接执行命令即可(也要注意路径)
    pytest的配置文件通常放在测试工程根目录下,名称为pytest.ini,命令运行时会使用该配置文件中的参数。配置好以后命令行pytest就可以按照配置文件的要求来执行测试用例了
    [pytest]
    addopts = -s #空格分隔可添加多个命令行参数,所有参数为插件包的参数
    testpaths = ./scripts #配置搜索路径,在此路径下搜索用例,可以自定义配置
    python_files = test_*.py #路径下搜索以test_开头,py结尾的文件
    python_class = Test_* #搜索文件里面的测试类以Test_开头
    python_functions = test_* #搜索测试函数名test_靠头
"""

 

pytest_lesson1

原文:https://www.cnblogs.com/flags-blog/p/13912414.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!