87 votes

xUnit.net ne capture pas la sortie de la console

Je viens de commencer à tester xUnit.net, mais il ne semble capturer aucune sortie (Console, Débogage, Trace), comme je m’y attendais.

Est-ce possible? J’utilise un exemple de bibliothèque de classes .NET 4.0 avec xUnit.net 1.8.

67voto

Benjol Points 16334

Cela peut vous aider si vous `` êtes intégré en profondeur dans une hiérarchie de classes que vous ne souhaitez pas refactoriser :

1voto

cph Points 130

C’était une solution simple que j’ai faite en utilisant un StringBuilder pour capturer la sortie et ne la sortir qu’en cas d’échec du test:

Étant donné que seule la méthode Xunit Assert.True() prend un message, je l’utilise dans le catch et fournit les informations « log » via son message, que vous verrez si le test échoue.

Vous pouvez vous débarrasser de l’essai/capture si vous utilisez uniquement Assert.True() dans le test et fournissez sb. ToString() comme message.

0voto

Gabe Cook Points 41

J’ai atterri ici avec la même question. Voici ce que j’ai fini par avoir. J’espère que cela aidera quelqu’un d’autre.

Comment écrire une cible personnalisée

-2voto

pixelshaded Points 313

Il y a une solution comme on le trouve ici : https://xunit.codeplex.com/discussions/211566

Ajoutez simplement ceci à votre constructeur ou méthode où vous souhaitez déboguer la sortie:

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X