Pytest04-用例失败控制、标记表达式

Pytest04-用例失败控制、标记表达式


高清B站视频链接

1.生成测试报告

生成junit xml文件测试报告

2.用例失败控制

在第N个很用例失败之后,结束测试执行

pytest.main(['--maxfail=2'])

3.通过标记表达式执行

pytest.main(['-m','smoke'])

这条命令会执行被

装饰器 @pytest.mark.smoke 装饰的所有测试用例

@pytest.mark.smoke
def test03():
    print("用例3执行")
    assert 1 == 1

先在pytest.ini 文件中注册自定义标记

[pytest]
markers =
    smoke: marks tests as smoke
    slow
    happy
    serial

练习代码如下:

代码目录
在这里插入图片描述

pytest.ini文件

[pytest]
markers =
    lever1: very impotant case
    lever2
    lever3
    serial

test_assert.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
    pytest的断言机制,用一句话概括借助python语言的
    运算符号和assert关键字来实现的
"""
import pytest

def test_fuyao_01():
    print("用例1")
    a = True
    b = False
    # 测试相等
    # assert 1 == 2
    # 测试不相等
    assert 1 != 2
    # 测试小于
    assert 1 < 2
    # 测试大于
    assert 1 > 2
    assert 'a' in 'abc'
    assert 'd' not in 'abc'
    assert a == True
    assert b == False
    assert b is not True

@pytest.mark.lever1
def test02():
    print("用例2")
    assert 1 == 2, "测试失败"

@pytest.mark.lever1
def test03():
    print("用例3")
    assert 1 == 1, "测试成功"

def test04():
    print("用例4")
    assert 1 == 1, "测试成功"
    

if __name__ == '__main__':
    # 生成简单的测试报告
    # pytest.main(['--junit-xml=./report/report01.xml'])
    # 用例失败次数控制
    # pytest.main(['-vs','--maxfail=2'])
    # 通过标记表达式来运行
    pytest.main(['-vs','-m','lever1'])

测试技术交流请联系我
在这里插入图片描述
备注优快云扶摇

【学习软件测试/Python自动化测试技术/领取Python自动化测试学习路线图/简历优化】
视频链接:
课程服务介绍

自动化全栈学习路线图讲解

软件测试面试合集

Python编程刷题合集

Pytest入门到实战

Python接口自动化合集

PythonWeb自动化合集

性能测试合集

Jmeter接口自动化测试实战全集

2023GPT探索发现合集

加微信(备注优快云扶摇)即可免费领取下面的自动化测试资料和一份软件测试面试宝典
在这里插入图片描述
在这里插入图片描述

### 如何使用 Pytest 执行测试用 #### 安装 Pytest 为了能够使用 `pytest` 来执行测试用,首先需要安装该工具。可以通过 pip 工具轻松完成这一操作。 ```bash pip install pytest ``` #### 编写简单的测试脚本 编写 Python 文件作为测试文件,通常命名为 `test_*.py` 或者放在名为 `tests/` 的目录下。下面是一个简单的子: ```python def func(x): return x + 1 def test_answer(): assert func(3) == 4 ``` 此代码片段定义了一个简单函数及其对应的单元测试[^1]。 #### 运行单个测试文件中的所有测试用 可以在命令行中通过指定具体的 `.py` 文件来运行其中所有的测试用: ```bash pytest path/to/test_file.py ``` 这会自动发现并执行给定路径下的所有符合条件的测试函数或方法[^2]。 #### 指定特定条件运行部分测试用 如果只想针对某些特定名称模式匹配的测试用进行执行,则可利用 `-k` 参数配合关键字表达式实现筛选目的: ```bash pytest -vs ./testcase -k "ao" ``` 上述指令表示只挑选那些名字里含有 `"ao"` 字符串的测试项去跑一遍[^4]。 #### 控制测试用的具体执行次序 虽然一般建议保持各条目间相互独立以免引入不必要的耦合关系;但在确实存在必要性的场景下还是允许调整它们之间的先后顺序。一种常见做法就是借助第三方扩展包——`pytest-ordering` 实现这一点。先要确保已正确安装好这个附加组件之后再考虑应用其提供的装饰器语法糖[@5]: ```bash pip install pytest-ordering ``` 接着就可以像这样标记各个待测项目了: ```python import pytest @pytest.mark.run(order=2) def test_second(): pass @pytest.mark.run(order=1) def test_first(): pass ``` 以上便是关于怎样运用 `pytest` 平台开展软件质量验证工作的基本指导说明[^5]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

测试老宅男扶摇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值