Как вывести результат при вызове xUnit? - PullRequest
0 голосов
/ 03 января 2019

Например, есть класс для тестирования.

public class ToBeTested
{
    public static void Method1()
    {
        Debug.WriteLine("....for debugging....");
    }
}

И он вызывается методом теста xUnit

[Fact]
public void Test1()
{
    ToBeTested.Method1();
}

Однако строка Debug.WriteLine("....for debugging...."); ничего не записала в отладочный вывод Visual Studio?

1 Ответ

0 голосов
/ 03 января 2019

Строка Debug.WriteLine("....for debugging...."); записывает вывод в окно «Отладка вывода» Visual Studio только тогда, когда тесты выполняются в режиме отладки. Вместо «Выполнить тесты» вы можете использовать «Отладочные тесты» и увидеть результат в окне.

Но если вы пытаетесь выводить результаты во время выполнения тестов XUnit, тогда лучше использовать ITestOutputHelper в пространстве имен Xunit.Abstractions.

Пример кода доступен в: https://xunit.github.io/docs/capturing-output.html

using Xunit;
using Xunit.Abstractions;

public class MyTestClass
{
    private readonly ITestOutputHelper output;

    public MyTestClass(ITestOutputHelper output)
    {
        this.output = output;
    }

    [Fact]
    public void MyTest()
    {
        var temp = "my class!";
        output.WriteLine("This is output from {0}", temp);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...