pytest标记:查找测试策略、标记测试函数

本文介绍了如何使用pytest选择性地运行测试用例。你可以通过显式指定函数名、使用模糊匹配选项 `-k` 或者使用pytest.mark进行标记。例如,使用`pytest test_no_mark.py::test_01`来执行特定函数,或者使用`pytest -k 01`来执行包含'01'的函数。此外,还可以通过配置文件注册标记,并通过`pytest -m do`执行带有'do'标记的用例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Pytest查找测试策略

默认情况下,pytest会递归查找当前目录下所有以test开始或结尾的Python脚本,并执行文件内的所有以test开始或结束的函数和方法。

标记测试函数

由于某种原因(如test_func2的功能尚未开发完成),我们只想执行指定的测试函数。在pytest中有几种方式可以解决:

第一种,显式指定函数名,通过::标记

pytest test_no_mark.py::test_func1

第二种,使用模糊匹配,使用-k选项标识

pytest -k func1 test_no_mark.py

示例
test02.py

import pytest


def test_01():
    print('the test01')
    assert True


def test_02():
    print('the test02')
    assert True
  • 执行全部用例
pytest test02.py
  • 执行test_01()函数
pytest test02.py::test_01
  • 执行带test的函数
pytest -k test test02.py
  • 执行带01的函数
pytest -k 01 test02.py

第三种,使用pytest.mark在函数上进行标记

示例
test03.py

import pytest


class Test_03:

    @pytest.mark.do
    def test_01(self):
        print('the test01')
        assert True

    @pytest.mark.undo
    def test_02(self):
        print('the test02')
        assert True

    @pytest.mark.do
    def test_03(self):
        print('the test03')
        assert True

用过.ini配置文件,注册标签名

[pytest]

markers=
    do:do
    undo:undo
  • 执行do标记的用例
pytest -m do test03.py  
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值