我正在使用pytest。我想收集/保存一些数据,以便对测试失败进行事后分析。我可以编写一个teardown_method,但是在这种情况下我看不到获得测试状态的方法。
是否有可能对任何测试(或assertion)失败采取措施?
pytest_exception_interact在一个conftest.py文件中实现一个,根据文档:
在引发可能可以交互处理的异常时调用。
def pytest_exception_interact(node, call, report):
if report.failed:
# call.excinfo contains an ExceptionInfo instance
Run Code Online (Sandbox Code Playgroud)
从您的问题中尚不清楚您要从错误中收集什么,但是ExceptionInfo对于您的情况来说,访问实例可能就足够了。