由xUnit调用时如何输出结果?

时间:2019-01-03 05:12:39

标签: c# xunit

例如,有一个要测试的类。

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 :(得分:0)

仅当在Debug模式下运行测试时,行Debug.WriteLine("....for debugging....");会将输出写入Visual Studio的Debug Output窗口。可以使用“调试测试”代替“运行测试”,并且可以在窗口中看到输出。

但是,如果您试图在运行XUnit测试时输出结果,那么最好在命名空间ITestOutputHelper中使用Xunit.Abstractions

代码示例位于:Json Object - Getting the Key and the Value

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);
    }
}