Python 如何更改pytest中的错误和故障检测?

Python 如何更改pytest中的错误和故障检测?,python,unit-testing,testing,hook,pytest,Python,Unit Testing,Testing,Hook,Pytest,在pytest中,我希望将所有未捕获的AssertionError异常报告为Failure,将所有其他未捕获的异常报告为Errors(而不是将setup方法中所有未捕获的异常报告为Errors,而将测试用例和UUT中所有未捕获的异常报告为Failure). 我想这可以用pytest钩子来完成。然而,“通过”、“跳过”和“失败”似乎是TestReport对象中唯一有效的结果值 所以 是否可以将“error”添加为有效结果,并让pytest的其余部分执行适当的报告,即在控制台输出上显示e/erro

在pytest中,我希望将所有未捕获的
AssertionError
异常报告为
Failure
,将所有其他未捕获的异常报告为
Errors
(而不是将setup方法中所有未捕获的异常报告为
Errors
,而将测试用例和UUT中所有未捕获的异常报告为
Failure
). 我想这可以用pytest钩子来完成。然而,“通过”、“跳过”和“失败”似乎是
TestReport
对象中唯一有效的结果值

所以

  • 是否可以将“error”添加为有效结果,并让pytest的其余部分执行适当的报告,即在控制台输出上显示e/error而不是F/FAILURE
  • 如果是这样,那么源代码的理想部分是什么
  • 如果我们不能将“错误”添加为有效结果,那么注入此行为的最佳方式是什么 [自我回答]

    实现此行为:)