对于我正在测试的应用程序,我想创建一个autouse = True fixture,如果他们试图意外地发送电子邮件,那么monkeypatches smtplib.SMTP.connect将失败测试.
但是,在我确实希望测试发送电子邮件的情况下,我想使用不同的夹具来记录这些电子邮件(最有可能的方法是使用pytest-localserver中的smtpserver夹具并使用connect方法修改连接方法以使用它返回的主机/端口)夹具)
当然,只有在另一个灯具(加载为funcarg)之前执行autouse灯具时才能工作.是否有任何具体的订单执行和/或有没有办法保证执行顺序?
解决方法:
控制灯具执行顺序的最简单方法是在后一个灯具中请求前一个灯具.所以要确保b在a之前运行:
@pytest.fixture(autouse=True, scope="function")
def b():
pass
@pytest.fixture(scope="function")
def a(b):
pass
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。