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?