Нет вывода в VS Code при выполнении тестов

#c# #.net-core #visual-studio-code

#c# #.net-core #visual-studio-code

Вопрос:

Я запускаю тестовый проект xUnit в коде VS с расширением .NET Core Test Explorer. Я пытаюсь записать вывод во время тестов, но ничего не работает. Я пробовал писать выходные данные по-разному, но нигде не вижу никаких выходных данных. Кому-нибудь удалось каким-то образом увидеть вывод в vs code во время выполнения тестов?

Вот небольшой пример класса:

 using Xunit;
using Xunit.Abstractions;
using System.Diagnostics;

public class TestClass
{

    private ITestOutputHelper _output;


    public TestClass(ITestOutputHelper output)
    {
        _output = output;
    }

    [Fact]
    public void Test2()
    {
        _output.WriteLine("Hello");
        Debug.WriteLine("Hello");
        Console.WriteLine("Hello");
    }
}
  

Комментарии:

1. Наоборот: зачем вам ведение журнала? Ваши тесты должны быть небольшими и быстро завершаться с использованием утверждений. Если они терпят неудачу, вы используете отладчик для анализа?

2. Система. Диагностика. Отладка. Строка записи («Привет») должна работать, если вы установили точку останова и с помощью консоли. writeline вы видите это в выводе?

3. Я не отлаживаю тесты, я просто их запускаю. В Visual Studio я могу видеть вывод теста при простом запуске тестов, причина в том, что выполнить тест намного быстрее, чем отлаживать его (гораздо больше времени загрузки). При повторном выполнении теста это экономит много времени. Запуск теста также намного быстрее, чем постоянный перезапуск всего приложения. То, что я ищу, — это способ максимально эффективно запускать и изменять фрагмент кода.

Ответ №1:

Вывод отображается только в случае сбоя теста.

Если вам нужно увидеть свой результат, вы можете (временно) добавить эту строку в конце теста:

 Assert.False(true, "Fail on purpose");
  

Если вы работаете в VS Code, вывод теста будет виден на вкладке «ВЫВОД», если вы установите для источника значение «Test Explorer (вывод тестового бегуна)» в раскрывающемся списке справа.