我想在pytest中添加多个终结器函数,因此可以添加多个addfinalizer。如果是,那么执行的顺序是什么。 任何帮助将不胜感激。
谢谢
答案 0 :(得分:3)
您可以添加多个终结器。来自pytest docs:
在测试结束后,通过调用其代码,yield和addfinalizer方法的工作方式相似,但是addfinalizer在yield上有两个主要区别:
- 可以注册多个终结器功能。
- 无论灯具设置代码是否引发异常,都将始终调用终结器。这样就可以方便地正确关闭由灯具创建的所有资源,即使其中之一无法创建/获取也不成功:
这个问题与this other stackoverflow question非常相似,其中讨论了顺序问题(并提供了更好的解决方案)。