Я использую xUnit с тестовым бегуном ReSharper и xUnitContrib плагин resharper.
Когда у меня есть длительный тест, я хочу, чтобы вывести индикатор прогресса в окно вывода Unit Test.
Я пробовал Debug.WriteLines
, Trace.WriteLine
и Console.WriteLine
. Все из них имеют одинаковое поведение - ничто не отображается в окне вывода до завершения теста.
Например:
[Fact]
public void Test()
{
Debug.WriteLine("A");
Trace.WriteLine("B");
Console.WriteLine("C");
Thread.Sleep(10000);
}
Тест не показывает выход до истечения 10 секунд, и тест завершается. Как я могу получить выход по пути?
ОБНОВЛЕНИЕ 1
Я также пытался использовать MSTest и NUnit. NUnit - единственный, который показывает результат на этом пути.
MSTest и XUnit не возвращают никакого вывода до завершения теста. Странная часть состоит в том, что, хотя результаты теста XUnit и NUnit выглядят следующим образом:
A
B
C
Результат MSTest выглядит следующим образом:
C
Debug Trace:
A
B
Учитывая все эти варианты, я думаю, что ответ заключается в том, что до реализации тестового бегуна решать, как и когда выводить. Кто-нибудь знает, можно ли настроить тестовый бегун XUnit?
ОБНОВЛЕНИЕ 2
Я думаю, что это должно быть недостатком xUnitContrib. Добавлено в отслеживание ошибок CodePlex.