Ich frage mich, wie Sie die Anmeldung in Elixir beim Testen deaktivieren. In meinem aktuellen Code teste ich Logger-Nachrichten, also möchte ich sie nicht komplett deaktivieren, sondern die Nachrichten ausblenden, bis ein Test aufhört zu passieren.Unterdrücken Logger beim Testen
Ich verwende Mix und ExUnit, um mein Projekt zu verwalten und zu testen.
mix test
Compiling 2 files (.ex)
.........
17:59:18.446 [warn] Code seems to be empty
.
17:59:18.447 [warn] Code doesn't contain HLT opcode
.
17:59:18.448 [warn] Code doesn't contain HLT opcode
17:59:18.448 [error] Label error doesn't exist
.....
Finished in 0.07 seconds
16 tests, 0 failures
Ich habe nicht erwähnt, aber ich habe versucht, mit der ersten Möglichkeit und es erhalten Fehler, und Tests basierend auf Warnung gestoppt zu übergeben. Der zweite Weg ist mehr oder weniger das Gleiche, also werde ich versuchen, ein eigenes Backend hinzuzufügen oder es einfach so zu lassen, wie es ist. Wie auch immer, danke für deine Antwort. – Jump3r
Das einzige Backend mit dem Pfad '/ dev/null' ist _exactly_ was Sie wollen: Es unterdrückt jegliche Ausgabe an alle Stellen (einschließlich der Konsole), aber es lässt den 'gen_event' Server des Loggers aktiv, so dass Sie alles was Sie wollen testen können. _Sidenote: _ Ich finde es seltsam, dass Sie Fehler unterdrücken möchten. – mudasobwa
Nun, ich denke, das ist nicht seltsam, wenn Sie anfangen, auf Fehler zu testen. Wenn Sie wie 10-15 Tests dafür schreiben, wird es wirklich nervig, alle Fehlermeldungen zu sehen, die erwartet werden. – Jump3r