Я использую
- Visual Studio 2015 (обновление 14.0.25431.01 3)
- Resharper Ultimate 2018.2.3 (сборка 2018-09-12)
- Windows 10 x64 v1803
- .NET Framework 4.5.2
Я хочу, чтобы у меня была возможность запустить модульный тест в модуле тестирования модульного теста и получить STREAM для выводаокно вывода.
(Кстати, одна из причин, почему это так важно для меня, из-за это . Так что да, это немного злоупотребления модульным тестом, нок сожалению, я до сих пор не нашел хорошую систему для ее замены.)
Что я пробовал:
NUnit
- Создатьновый консольный проект (целевая платформа .NET Framework 4.5.2)
- Nuget установить NUnit 3.11.0
Создать модульный тест:
[Test]
public void HelloWorld()
{
Debug.Listeners.Add(new DefaultTraceListener());
Console.WriteLine("asdf");
Debug.WriteLine("asdf");
Thread.Sleep(10000);
Console.WriteLine("asdf2");
Debug.WriteLine("asdf2");
}
Когда я запускаю это, он отображает выходные данные только после того, как тест полностью завершен, через 10 секунд. Я хочу, чтобы в основном немедленно отображался первый «asdf».
TСлучайные вещи, которые я пробовал, были из этой темы .
Из того, что я могу сказать, Бегущий по модульному тесту даже не выглядит так, будто готов начать принимать вывод после тестабежит.Посередине это выглядит так:
![enter image description here](https://i.stack.imgur.com/e2REj.png)
В этот момент выполняется Thread.Sleep
.Я надеюсь увидеть asdf
Как только это будет сделано, это выглядит так:
![enter image description here](https://i.stack.imgur.com/oauTC.png)
Я знаю, что в прошломРаньше это работало так, как я хотел, но это было возможно с более старыми версиями всего программного обеспечения (Visual Studio, Resharper, .NET Framework, NUnit)
xUnit 1. Создание нового консольного проекта 2Nuget install NUnit 3.11.0 3. Создайте модульный тест:
[Fact]
public void HelloWorld()
{
Debug.Listeners.Add(new DefaultTraceListener());
Console.WriteLine("asdf");
Debug.WriteLine("asdf");
Thread.Sleep(10000);
Console.WriteLine("asdf2");
Debug.WriteLine("asdf2");
}
В этом случае я вообще ничего не получаю.
![enter image description here](https://i.stack.imgur.com/6W4H1.png)
Я думаю, это может быть связано с ошибкой, на которую ссылается предыдущий пост, но она отличается тем, что он по крайней мере что-то получает.Тот факт, что я испытываю поведение, с которым он связан, когда он использует xUnit, но я использую NUnit, но то, что я испытываю другое поведение, когда я использую xUnit, мне немного не нравится.
Мой вариант использования вряд ли сложенздесь, поскольку я сделал немного больше, чем создал совершенно новый проект, добавил пакеты и затем попытался использовать его.Есть ли способ, которым я могу надежно заставить это работать?