In welcher Reihenfolge werden die Pytest Fixtures ausgeführt?

Für eine Anwendung, die ich teste, möchte ich ein @ erstellautouse=True Fixture welche Monkeypatchessmtplib.SMTP.connect um Tests nicht zu bestehen, wenn sie versuchen, eine E-Mail unerwartet zu senden.

Wenn ich jedoch erwarte, dass Tests E-Mails senden, möchte ich stattdessen ein anderes Fixture verwenden, das diese E-Mails protokolliert (höchstwahrscheinlich mithilfe des @ -Befehlssmtpserver Fixture vonpytest-localserver und monkeypatching dasconnect Methode, um den von diesem Gerät zurückgegebenen Host / Port zu verwenden)

Natürlich kann das nur funktionieren, wenn das Autouse-Fixture vor dem anderen Fixture ausgeführt wird (als funcarg geladen). Gibt es eine bestimmte Reihenfolge, in der Fixtures ausgeführt werden und / oder gibt es eine Möglichkeit, die Ausführungsreihenfolge zu gewährleisten?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage