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