pytest-xdist 怎么按照文件夹分组
时间: 2024-02-27 22:54:34 浏览: 232
pytest-xdist:pytest插件,用于分布式测试和失败循环测试模式
pytest-xdist可以按照多种方式来分组测试任务,其中一种方式就是按照文件夹来分组。你可以使用pytest_collection_modifyitems钩子函数来实现这一点。下面是一个例子:
```python
def pytest_collection_modifyitems(items):
# 找出所有测试文件的文件夹
dirs = set()
for item in items:
dirs.add(os.path.dirname(item.fspath))
# 按照文件夹来分组测试任务
new_items = []
for d in dirs:
tests = [item for item in items if os.path.dirname(item.fspath) == d]
if tests:
new_items.append(pytest.Item.from_parent(parent=None, name=d, nodeid=d, tmpdir=None, extra=[]))
new_items.extend(tests)
items[:] = new_items
```
这个例子会首先找出所有测试文件的文件夹,然后按照文件夹来分组测试任务。最后,将新的测试任务列表赋值给items,覆盖原来的列表。这样,pytest-xdist就会按照文件夹来分组测试任务了。
阅读全文