我正在使用pytest调用目录下的所有测试。我如何最后运行一个特定的测试用例?
python -m pytest ../testdir
../testdir/test_1.py.... test_n.py
答案 0 :(得分:2)
您可以通过实现自己的pytest_collection_modifyitems
挂钩轻松地更改默认的测试执行顺序。创建具有以下内容的文件conftest.py
:
def pytest_collection_modifyitems(items):
test_name = 'test_1'
test_index = next((i for i, item in enumerate(items) if item.name == test_name), -1)
test_item = items.pop(test_index)
items.append(test_item)
在此示例中,如果收集了名为test_1
的测试函数,它将移至项目列表的末尾。将test_1
替换为您自己的函数名称,甚至将其命名为configurable via command line arguments。