在conftest.py里直接使用pytest_terminal_summary 方法来收集用例结果并写入文件时,其实是共收集了5次, g0 g1 g2 g3 g4 master (文件被写入了5次) 。 实际上只关注 master最后统计那次的。
在pytest_terminal_summary中 加if not hasattr(config,“workeroutput”): 来判断 是否为master那次的返回,如果是则写入 否则不写入。
# conftest.py
import pytest
def pytest_terminal_summary(terminalreporter, exitstatus, config):
# 仅在 master 进程中执行总结逻辑
if not hasattr(config, "workeroutput"):
# 执行你的总结逻辑
terminalreporter.write("Running pytest_terminal_summary only once in the master process.\n")
# 这里可以添加更多的总结逻辑