Ich habe an einem Testframework gearbeitet, das eine neue App-Domäne erstellt, in der die Tests ausgeführt werden. Der Hauptgrund dafür, dass die DLLs getestet werden, hat schrecklichen Code, der darauf beruht, dass sich die DLL im Pfad der App befindet. (Nein, ich kann diesen Code nicht ändern.)Wie bekomme ich stdout in Mstest Ausgabe, wenn ich in einer neuen App-Domain laufe?
Das Problem, das ich habe, ist, dass mein Testteam eine Reihe von Funktionstests in mstest schreibt und einer der Logger, der in Console.Out schreibt, nicht eine der Protokollinformationen in der trx-Ausgabe erfasst haben. Wenn der Code über eine Konsolenanwendung ausgeführt wird, werden alle Protokollinformationen ordnungsgemäß ausgegeben. Auch die anderen Logger, die implementiert wurden.
Mein Gedanke ist, dass mstest seinen eigenen TextWriter auf Console.Out setzt, aber die neue App doamin hat einen eigenen TextWriter für Console.Out, da die neue App-Domain einen eigenen Satz von Statiken hat.
Ich schätze Ihre Ideen.
Hinweis: Diese Frage und die angenommene Antwort gelten auch für das NUnit-Fenster "Textausgabe" und Tests, die neue App-Domänen erstellen (und in stdout schreiben). –