Есть ли способ автоматизировать отчетность по каждому тестовому прогону?Модульное тестирование Visual Studio C# - результаты отчета для каждого запуска
Теперь я делаю это
[TestMethod]
public void Test1()
{
ReportTestStarted("Test1");
// do test like
Assert.IsTrue(true,"Fake good test");
ReportTestFinshed("Test1");
}
с предположением, что, когда тест начал он должен быть закончен, то это хорошо. ReportTest *() собирает все результаты, а затем сохраняет их как-то.
Надеюсь, что можно использовать Атрибуты и обновить [TestMethod], чтобы он выполнял такую работу автоматически. Любые идеи?
Обновление: Спасибо за @ Ричард и @Scott намеки я понял, что я могу использовать этот код и знать результат на основе этой link
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"));
}
Один из вариантов состоит в том, чтобы создать тестовую функцию таким образом, чтобы она записывала результаты по пути в файл или базу данных, которые затем можно проверить после завершения, чтобы увидеть выходы на разных этапах. Другим методом было бы написать метод тестирования для активации функций и проверить, соответствует ли результат. – Shon
Я стараюсь глубже заглянуть в тестовую библиотеку микрософт или получить NUnit от Nuget и использовать это. Вы также должны использовать контракты в своем тестовом коде, чтобы убедиться, что ваш код работает так, как ожидалось. –
'Debug.WriteLine' –