pytest框架学习(一) - pytest安装与mark功能

一.pytest 介绍

pytest:基于 unittest 之上的单元测试框架

1.自动发现测试模块和测试方法

2.断言使用 assert +表达式即可

3.可以设置会话级\模块级\类级\函数级fixtures  数据准备+清理工作

4.有丰富的插件库,目前在 600 个以上

 

安装命令

pip install pytest

安装 HTML 报告的插件

pip install pytest-html

 

pytest 插件地址

http://plugincompat.herokuapp.com

 

pytest 收集测试用例的规则

1.默认从当前目录中搜集测试用例,即在哪个目录下运行 pytest 命令,则中哪个目录中搜索

2.搜索规则

  2.1 符合命令规则 test_*.py 或者 *_test.py 的文件

  2.2 以 test_ 开头的函数名

  2.3 以 Test 开头的测试类(没有__init__函数)当中,以 test_ 开头的函数

 

pytest - Mark

使用 mark 功能,给测试用例打开标签

在运行测试用例的时候,可根据标签名来过滤要运行的用例

打标签方法:

在测试用例/测试类前面加上:@pytest.mark.标记名

示例:

@pytest.mark.smoke

可以在一个用例上打多个标签.多次使用@pytest.mark.标签名 即可

示例:

import unittest
import pytest

class TestDemo(unittest.TestCase):
    
    @pytest.mark.smoke
    @pytest.mark.demo
    def test_first(self):
        print('first test case')

在 Terminal 执行命令:pytest -m smoke

pytest - 命令行参数

pytest 通过命令行参数的形式来运行测试\设置过滤条件\生成测试报告

安好 pytest 后,可在命令行中运行 pytest --help 查看多有可用参数

注意:pytest 名录在哪个目录下执行,那么就会以此目录作为根目录,按照规则自动去搜索用例

1.执行当前目录下所有用例

pytest

2.只执行带指定标签(mark标记)的用例

pytest -m 标签名1[and 标签名2]

示例:pytest -m smoke and demo  表示执行同时有smoke和demo两个标签的用例

pytest - 参数化

在测试用例的前面加上:

@pytest.mark.parametrize("参数名",列表数据)

参数名:用来接收每一项数据,并作为测试用例的参数

列表数据:一组测试数据

 

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值