我们可以通过pytest.mark将用例进行分类,从而到达筛选用例的功能
使用方法:
1.创建标签名
2.在测试用例/测试类前加上标记 @pytest.mark.标记名
标签名的创建:
方法1:设置pytest.ini文件,在文件中按照以下格式添加标签名:
注意:smoke为标签名(不支持中文),冒号后面是对该标记的解释(不支持中文)
方法2:创建conftest.py文件,存放在命令行当前目录
import pytest
def test_a():
assert 1==1
if __name__ == '__main__':
pytest.main()
[pytest]
markers=
smoke:smoke test
demo:demo test
def pytest_configure(config):
config.addinivalue_line('markers','回归测试:标记只允许回归测试')
config.addinivalue_line('markers','冒烟测试:标记只允许冒烟测试')
执行用例:
import pytest
@pytest.mark.smoke
def test_2():
assert 2==2
@pytest.mark.冒烟测试
def test_1():
assert 1==1
#除了在方法上标记外,还可以在类上进行标记
@pytest.mark.smoke
class test_demo:
def test_3():
assert 1==1
运行:方法1
pytest -m 冒烟测试
E:\学习\pytest_code>pytest -m demo
============================================================ test session starts
============================================================
platform win32 -- Python 3.6.5, pytest-4.5.0, py-1.8.0, pluggy-0.12.0
rootdir: E:\学习\pytest_code, inifile: pytest.ini
方法2
if __name__ == '__main__':
pytest.main(['-m','demo'])