获取所有自定义标记的列表
Get a list of all custom markers
如果我有一个带有自定义标记的简单测试用例,例如:
class TestClass:
@pytest.mark.first
def test_first(self):
assert True
@pytest.mark.second
def test_second(self):
assert True
@pytest.mark.third
def test_third(self):
assert True
如何获取整个自定义标记的列表,因为 $ py.test -v --markers
returns 预定义标记的列表
@pytest.mark.skipif(condition)
@pytest.mark.xfail(condition, reason=None, run=True, raises=None)
@pytest.mark.parametrize(argnames, argvalues)
@pytest.mark.usefixtures(fixturename1, fixturename2, ...)
@pytest.mark.tryfirst
@pytest.mark.trylast
没有
@pytest.mark.first
@pytest.mark.second
@pytest.mark.third
您需要将标记名称添加到您的 pytest.ini
才能注册它们。参见 https://docs.pytest.org/en/latest/example/markers.html#registering-markers
首先,您需要在名为 pytest.ini
:
的文件中注册所有自定义标记
# pytest.ini
[pytest]
markers = first_customer_marker
another_custom_marker
oh_one_more_marker
现在要获取自定义标记列表,您可以使用以下函数之一:
config.getini('markers')
:这将 return 包含自定义标记以及内置标记的列表,例如 pararmetrize
、skip
、skipif
,等等
config._getini('markers')
:这将return一个仅包含自定义标记的列表
示例:
def pytest_collection_modifyitems(items):
for item in items:
print(item.config.getini('markers'))
print(item.config._getini('markers'))
如果我有一个带有自定义标记的简单测试用例,例如:
class TestClass:
@pytest.mark.first
def test_first(self):
assert True
@pytest.mark.second
def test_second(self):
assert True
@pytest.mark.third
def test_third(self):
assert True
如何获取整个自定义标记的列表,因为 $ py.test -v --markers
returns 预定义标记的列表
@pytest.mark.skipif(condition)
@pytest.mark.xfail(condition, reason=None, run=True, raises=None)
@pytest.mark.parametrize(argnames, argvalues)
@pytest.mark.usefixtures(fixturename1, fixturename2, ...)
@pytest.mark.tryfirst
@pytest.mark.trylast
没有
@pytest.mark.first
@pytest.mark.second
@pytest.mark.third
您需要将标记名称添加到您的 pytest.ini
才能注册它们。参见 https://docs.pytest.org/en/latest/example/markers.html#registering-markers
首先,您需要在名为 pytest.ini
:
# pytest.ini
[pytest]
markers = first_customer_marker
another_custom_marker
oh_one_more_marker
现在要获取自定义标记列表,您可以使用以下函数之一:
config.getini('markers')
:这将 return 包含自定义标记以及内置标记的列表,例如pararmetrize
、skip
、skipif
,等等config._getini('markers')
:这将return一个仅包含自定义标记的列表
示例:
def pytest_collection_modifyitems(items):
for item in items:
print(item.config.getini('markers'))
print(item.config._getini('markers'))