在pytest中默认的用例执行顺序是文件之间按照ASCII码排序,文件内的用例按照从上往下执行。在pytest提供的众多hook钩子中,其中有一个函数:pytest_collection_modifyitems(items),通过它可以对用例的执行顺序以及一些用例的内容进行调整,这个函数的入参items是一个列表,保存的是当前所有需要执行的测试用例。每一个item的属性值如下图所示(其中:nodeid是节点的ID,会在测试报告中引用到):
1、调整顺序,例如以下代码,修改顺序为倒序,同时删除第二个用例。
#conftest.py 文件中
def pytest_collection_modifyitems(items):
"""
修改测试用例
:param items:
:return:
"""
#按原来的顺序倒序执行
# items[:] = items[::-1]
#删除第二个用例
del items[1]
2、修改用例的节点信息,需要修改某一个属性的内容直接可以引用修改即可,比如节点名称。
#conftest.py 文件中
def pytest_collection_modifyitems(items):
"