Ich versuche, einen einfachen Komponententest zu schreiben, der überprüft, ob eine Klasse in meiner Anwendung unter bestimmten Bedingungen einen Fehler über die Standardprotokollierungs-API protokolliert. Ich kann nicht herausfinden, wie diese Situation am saubersten getestet werden kann.
Ich weiß, dass die Nase die Protokollausgabe bereits über das Protokollierungs-Plugin erfasst, aber dies scheint als Berichts- und Debugging-Hilfe für fehlgeschlagene Tests gedacht zu sein.
Die zwei Möglichkeiten, dies zu tun, sind:
- Verspotten Sie das Protokollierungsmodul entweder stückweise (mymodule.logging = mockloggingmodule) oder mit einer geeigneten Verspottungsbibliothek.
- Schreiben oder verwenden Sie ein vorhandenes Nasen-Plugin, um die Ausgabe zu erfassen und zu überprüfen.
Wenn ich mich für den früheren Ansatz entscheide, würde ich gerne wissen, wie ich den globalen Status am saubersten auf den ursprünglichen Stand zurücksetzen kann, bevor ich das Protokollierungsmodul verspottet habe.
Ich freue mich auf Ihre Tipps und Tricks zu diesem Thema ...