1.pytest_collectreport(report)
这个函数在每个模块收集器收集结束后调用
report是_pytest的runner.py模块 CollectReport 的实例
CollectReport定义如下
class CollectReport(BaseReport):
def __init__(self, nodeid, outcome, longrepr, result,
sections=(), **extra):
self.nodeid = nodeid #模块::测试class
self.outcome = outcome #nodeid扫描结果
self.longrepr = longrepr
self.result = result or [] #TestCaseFunction或者UnitTestCase的list
self.sections = list(sections)
self.__dict__.update(extra)
@property
def location(self):
return (self.fspath, None, self.fspath) #fspath,模块的完整文件路径
def __repr__(self):
return "<CollectReport %r lenresult=%s outcome=%r>" % (
self.nodeid, len(self.result), self.outcome)