欢迎访问宙启技术站
智能推送

pytest.markskip()的用途及使用方法介绍

发布时间:2023-12-28 08:32:21

pytest.mark.skip()是pytest框架中的一个装饰器,用于标记一个测试用例跳过执行。它的作用是告诉pytest框架在执行测试过程中跳过被标记的测试用例,通常用于临时跳过某些测试用例,以便后续进行修复或其他操作。

使用方法:

1. 引入pytest和pytest的skip模块:在测试文件的开头添加import pytest和from pytest import mark。

2. 使用装饰器标记待跳过的测试用例:将测试用例函数下方的@mark.skip()添加到该函数定义上方,加上需要跳过的原因作为参数。

3. 执行测试:执行pytest命令或者使用编辑器的pytest插件运行测试,被标记的用例将被跳过。

下面是一个使用pytest.mark.skip()的示例:

* 测试用例文件:test_example.py

import pytest

def test_add():
    assert 1 + 1 == 2

@pytest.mark.skip("暂时跳过该测试用例")
def test_multiply():
    assert 3 * 4 == 12

def test_subtract():
    assert 5 - 3 == 2

在上面的示例中,测试用例文件test_example.py中定义了三个测试用例函数:test_add、test_multiply和test_subtract。其中,test_multiply函数使用了@pytest.mark.skip("暂时跳过该测试用例")装饰器标记,表示该用例在执行过程中会被跳过。

执行pytest test_example.py命令后,输出的测试结果如下:

========================= test session starts ==========================
...
test_example.py .s                                                  [100%]

========================= 1 passed, 1 skipped in 0.02s ==========================

从输出结果可以看出,test_add和test_subtract两个测试用例都被执行通过,而test_multiply被跳过了。

使用pytest.mark.skip()可以简单方便地临时跳过一些测试用例,避免这些用例影响其他正常执行的用例。在修复了问题后,可以通过注释掉或者删除装饰器来重新激活被跳过的用例。