python pytest mark

默認情況下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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章