python pytest mark

    技术2023-11-16  93

    默认情况下pytest会测试所有的函数,但是有些时候我们只想测试指定的函数,这就需要用到mark

    @pytest.mark.finished @pytest.mark.unfinished @pytest.mark.skip 跳过 import pytest @pytest.mark.finished def test1_fun(): assert 1 == 1 @pytest.mark.unfinished def test2_fun(): assert 1 == 1

    默认两个方法都测试

    PS D:\code\test> pytest test.py platform win32 -- Python 3.6.5, pytest-3.5.1, py-1.5.3, pluggy-0.6.0 rootdir: D:\code\test, inifile: plugins: remotedata-0.2.1, openfiles-0.3.0, doctestplus-0.1.3, arraydiff-0.2 collected 2 items test.py .. [100%] ========================== 2 passed in 0.04 seconds ===========================

    只测试finished

    PS D:\code\test> pytest -m finished test.py ============================= test session starts ============================= platform win32 -- Python 3.6.5, pytest-3.5.1, py-1.5.3, pluggy-0.6.0 rootdir: D:\code\test, inifile: plugins: remotedata-0.2.1, openfiles-0.3.0, doctestplus-0.1.3, arraydiff-0.2 collected 2 items / 1 deselected test.py . [100%] =================== 1 passed, 1 deselected in 0.05 seconds ====================

    只测试unfinished

    PS D:\code\test> pytest -m finished test.py ============================= test session starts ============================= platform win32 -- Python 3.6.5, pytest-3.5.1, py-1.5.3, pluggy-0.6.0 rootdir: D:\code\test, inifile: plugins: remotedata-0.2.1, openfiles-0.3.0, doctestplus-0.1.3, arraydiff-0.2 collected 2 items / 1 deselected test.py . [100%] =================== 1 passed, 1 deselected in 0.05 seconds ====================

    skip

    直接跳过

    @pytest.mark.skipif(conn.__version__ < '0.2.0', reason='not supported until v0.2.0') def test_api(): pass python test.py

    https://learning-pytest.readthedocs.io/zh/latest/doc/test-function/skip.html

    Processed: 0.010, SQL: 9