Existe-t-il un moyen d'automatiser le reporting de chaque test?
Maintenant je fais ça
[TestMethod]
public void Test1()
{
ReportTestStarted("Test1");
// do test like
Assert.IsTrue(true,"Fake good test");
ReportTestFinshed("Test1");
}
en supposant que lorsque le test a commencé, il doit être terminé, c'est bien. ReportTest * () recueille tous les résultats, puis les stocke d'une manière ou d'une autre.
J'espère qu'il est possible d'utiliser des attributs et de mettre à jour [TestMethod] pour qu'il fasse ce travail automatiquement. Des idées?
Mise à jour: Merci pour les conseils de @ Richard et @Scott J'avais compris que je pouvais utiliser ce code et connaître le résultat en fonction de ce lien
public TestContext TestContext { get; set; }
[TestCleanup]
public void CleanupTest()
{
Console.WriteLine(
"TextContext.TestName='{0}' {1} ",
TestContext.TestName,
(Microsoft.VisualStudio.TestTools.UnitTesting.UnitTestOutcome.Passed==TestContext.CurrentTestOutcome?"Pass":"Fail"));
}
Merci pour les commentaires J'ai ma réponse:
public TestContext TestContext { get; set; }
[TestCleanup]
public void CleanupTest()
{
Console.WriteLine(
"TextContext.TestName='{0}' {1} ",
TestContext.TestName,
(Microsoft.VisualStudio.TestTools.UnitTesting.UnitTestOutcome.Passed==TestContext.CurrentTestOutcome?"Pass":"Fail"));
}
Il donne accès au nom du test et au résultat du test que je peux utiliser et stocker de quelque manière que ce soit. Le plus important - je n'ai pas à toucher à mes méthodes de test. Cette approche collecte et signale tous les résultats sans ajouter de lignes de code supplémentaires à chaque TestMethod.
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots