Вывести резюме MSTest после запуска из командной строки - PullRequest
1 голос
/ 07 марта 2012

При запуске большого набора тестов с использованием MsTest из командной строки, я вижу, как каждый тест выполняется и его результаты регистрируются в окне следующим образом:

Passed         Some.NameSpace.Test1
Passed         Some.NameSpace.Test2

И так далее для тысяч тестов.После завершения MsTest будет выдавать сводку, подобную этой

Summary
---------
Test run failed 
    Passed  2000
    Failed     1
    ------------
    Total   2001

. В этот момент я должен либо начать прокрутку назад в окне, пытаясь найти иголку в стоге сена, которая представляет мой единственный неудачный тест или Я могу открыть огромный xml-файл, представляющий результат, и выполнить текстовый поиск по ключевому слову, указывающему на неудачный тест.

Разве нет более простого способа?Могу ли я получить отчет о ходе выполнения MsTest без вывода на консоль имен пропущенных тестов (по-прежнему ведя журнал неудачных тестов), или в конце я могу получить сводку только неудачных тестов?

Я думаю, совершенно очевидно, что хочет сделать любой пользователь командной строки: следить за прогрессом и знать результат в конце, без необходимости читать xml или просматривать историю окна cmd.

Ответы [ 2 ]

2 голосов
/ 06 июня 2012

Отвечая на мой собственный вопрос: единственное решение, которое кажется, - это простой скрипт-обертка, который вызывает MsTest.exe и анализирует / суммирует вывод, либо stdout, либо trx.

0 голосов
/ 07 марта 2012

Вы можете использовать TestContext.CurrentTestOutcome в конце каждого теста, чтобы определить, не прошел ли тест, а затем записать все неудачные тесты в другой файл.

[TestCleanup]
public void CleanUp()
{
    if (TestContext.CurrentTestOutcome.ToString().Equals("Failed"))
    {                
        TestContext.WriteLine("{0}.{1} ==> {2}", TestContext.FullyQualifiedTestClassName, 
            TestContext.TestName, TestContext.CurrentTestOutcome.ToString());

        //Log the result to a file.
    }
}

Я не знаю, может ли это вам помочь.

...