J'ai travaillé sur un framework de test, qui crée un nouveau domaine d'application pour exécuter les tests. La raison principale étant la DLL que nous testons possède un code horrible qui repose sur la DLL se trouvant dans le chemin du domaine app. (Non je ne peux pas changer ce code.)Comment obtenir stdout dans la sortie mstest lors de l'exécution dans un nouveau domaine d'application?
Le problème que j'ai est que mon équipe de test écrit un tas de tests fonctionnels dans mstest et l'un des enregistreurs, qui écrit sur Console.Out, ne avoir l'une des informations de journal capturés dans la sortie trx. Lorsque vous exécutez le code via une application de console, toutes les informations de journal sont affichées correctement. Alors faites les autres enregistreurs qui ont été implémentés. Je pense que mstest définit son propre TextWriter sur Console.Out, mais la nouvelle application doamin possède son propre TextWriter pour Console.Out, car le nouveau domaine d'application possède son propre ensemble de statistiques.
J'apprécie vos idées.
Remarque: cette question et la réponse acceptée s'appliquent également à la fenêtre «Sortie de texte» de NUnit et aux tests qui créent de nouveaux domaines d'application (et écrivent sur stdout). –