Kah*_*ius 6 python pytest python-3.x
您知道是否有一种方法可以使用 pytest python API 收集所有 pytest 节点 ID(如此处所示)?
我找到了--collect-onlypytest 的参数,但我不知道如何使用 python 获取输出?
提前致谢 !
如果您想以编程方式访问nodeids,最好是编写一个小插件,将它们存储在测试集合中。例子:
import pytest
class NodeidsCollector:
def pytest_collection_modifyitems(self, items):
self.nodeids = [item.nodeid for item in items]
def main():
collector = NodeidsCollector()
pytest.main(['--collect-only'], plugins=[collector])
# use collector.nodeids now
Run Code Online (Sandbox Code Playgroud)
如果您想避免pytest输出到终端,请另外禁用终端插件:
pytest.main(['--collect-only', '-pno:terminal'], plugins=[collector])
Run Code Online (Sandbox Code Playgroud)