为了测试一个应用程序,我想创建一个“autouse=True”fixture来monkeypatch“smtplib.SMTP.connect”,以便在测试案例意外发送电子邮件时使测试失败。
然而,在我确实期望测试发送电子邮件的情况下,我希望使用另一个fixture来记录这些电子邮件(很可能是通过使用“pytest-localserver”的“smtpserver”fixture,并monkeypatching“connect”方法来使用该fixture返回的主机/端口)。
当然,这只能在执行其他fixture之前执行autouse fixture(作为funcarg加载)。fixture是否有特定的执行顺序和/或是否有保证执行顺序的方法?
然而,在我确实期望测试发送电子邮件的情况下,我希望使用另一个fixture来记录这些电子邮件(很可能是通过使用“pytest-localserver”的“smtpserver”fixture,并monkeypatching“connect”方法来使用该fixture返回的主机/端口)。
当然,这只能在执行其他fixture之前执行autouse fixture(作为funcarg加载)。fixture是否有特定的执行顺序和/或是否有保证执行顺序的方法?
@mark
,然后使用 request 对象检查测试函数是否具有该标记。如果有,则在 fixture 中执行不同的操作。 - user2859458