web-dev-qa-db-fra.com

Ajouter un message personnalisé au résultat du test unitaire

Existe-t-il un moyen d'ajouter un message personnalisé au résultat d'une méthode de test? Je veux mettre un chronomètre sur une partie du code pour voir combien de temps son fonctionnement. Je n'ai pas besoin de tester qu'il fonctionne dans un certain laps de temps, je veux juste voir dans la fenêtre de résultat quel était le temps écoulé.

36
Rush Frisby

En supposant que vous utilisez MSTest, vous pouvez utiliser

System.Diagnostics.Trace.WriteLine("Hello World");

Pour sortir tout ce que vous voulez. Il apparaîtra dans les résultats complets du testeur.

63
vcsjones

L'exemple ci-dessus n'a pas fonctionné pour moi, mais ce qui suit a fonctionné:

var result = routeManager.UpdateWalkingOrder(previouspremiseFuncLoc, premiseFuncLoc, out message);

Assert.AreEqual(true, result, message);

Où le message est une erreur que je veux afficher dans la boîte de dialogue Message d'erreur de mon résultat de test. Dans l'exemple ci-dessus, je renvoie des erreurs qui sont capturées lors de l'exécution de cette fonction et l'affiche dans mes résultats de test, ce qui est très utile pour le débogage.

Dans votre cas, vous pouvez simplement afficher la durée de fonctionnement.

7
Adrian Hedley

J'ai suivi le même chemin, essayant de trouver un moyen de sortir un message pour les résultats des tests. Vous pouvez simplement stocker votre elapsedtime dans un String et utiliser simplement:

Console.WriteLine(elapsedtime);

Ça a très bien fonctionné pour moi.

5
john stewart

Selon la longueur du message, vous pouvez utiliser Console.WriteLine. Il est ajouté aux résultats du test, nom de la colonne Output (StdOut), afin que vous puissiez le voir sans entrer dans les détails de l'exécution du test.

Je trouve utile de produire des informations très générales, telles que le nombre de propriétés qui ont été testées, ou toute autre preuve que les tests ont réellement été exécutés.

Si vous n'avez pas de message d'état, que se passe-t-il si quelqu'un sabote votre code et supprime tout du corps de la méthode de test? Ils passent tous maintenant, mais cela n'aide pas du tout.

1
Neolisk