【自动化测试】pytest框架

安装pytest:pip install -U pytest
查看版本:pytest --version

文件名必须以test开头或者_test.py结尾,否则收集不到。
测试类必须Test开头,不能带有init方法
测试函数名必须以test开头
在这里插入图片描述

pytest三种执行方式:
方法一:命令行执行:pytest test0520.py
在这里插入图片描述

方法二:修改pycharm默认测试框架
在这里插入图片描述

方法三:修改run configurations
在这里插入图片描述

pytest常用命令参数:
-k 常用于筛选要进行运行的测试函数
-m 执行被打上标记为xx的用例,可以用装饰器@pytest.mark做标记
–collect-only:只显示搜集到的用例,不执行
-x:一旦有用例执行失败
-s:显示标准输出,例如print()语句
-v:显示详细报告
-q:显示简洁报告
–maxfail=n:最大失败n后停止测试
–if(–last-failed):仅执行上次失败的用例,如果没有失败的,默认运行所有

pytest框架结构:
模块级(setup_module/teardown_module)开始于模块始末, 全局的
函数级(setup_function/teardown_function)叧对函数用例生效(不在类中)
类级(setup_class/teardown_class)在类中前后运行一次(在类中)
方法级(setup_method/teardown_method)开始于方法始末 (在类中)
类里面的(setup/teardown)运行在调用方法的前后

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# 模块级别
def setup_module():
    print("资源准备:setup--module")


def teardown_module():
    print("资源准备:teardown--module")


def test_case1():
    print("testcase1")


def setup_function():
    print("资源准备:setup--function")


def teardown_function():
    print("资源消毁:teardown--function")
class TestDemo:

    #  执行类 前后分别执行setup_class  teardown_class
    def setup_class(self):
        print("TestDemo setup_class")

    def teardown_class(self):
        print("TestDemo teardown_class")

    # 每个类里面的方法前后分别执行 setup, teardown
    def setup(self):
        print("TestDemo setup")

    def teardown(self):
        print("TestDemo teardown")

    def test_demo1(self):
        print("test-demo1")

    def test_demo2(self):
        print("test-demo2")


class TestDemo1:

    #  执行类 前后分别执行setup_class  teardown_class
    def setup_class(self):
        print("TestDemo1 setup_class")

    def teardown_class(self):
        print("TestDemo1 teardown_class")

    # 每个类里面的方法前后分别执行 setup, teardown
    def setup(self):
        print("TestDemo1 setup")

    def teardown(self):
        print("TestDemo1 teardown")

    def test_demo1(self):
        print("test demo1")

    def test_demo2(self):
        print("test demo2")

if __name__ == '__main__':
    TestDemo

执行结果:
在这里插入图片描述

pytest执行case顺序插件

pip install pytest-ordering

import pytest
@pytest.mark.run(order=2)
def test_add():
	pass
@pytest.mark.run(order=1)
def test_div():
	pass
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值