Resharper:如何写入控制台输出

标签 resharper xunit.net

我正在使用Resharper 2019 1.3。
我正在使用 Xunit 运行单元测试。 在用 [Fact] 装饰的测试方法中,我想使用 Console.WriteLine 写入 Resharper 输出。
由于某种原因它不起作用。

关于如何解决这个问题有什么想法吗?

public class NumberTest
{
    public NumberTest()
    {
    }

    [Fact]
    public void NewNumber_should_randomize()
    {
        var number1 = Number.NewNumber();

        Console.WriteLine(number1.Value);
    }
}

最佳答案

较新版本的 xUnit 稍微解耦了日志记录。看看the "Capturing Output" docs ,告诉你做这样的事情:

public class NumberTest
{
    private readonly ITestOutputHelper output;

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

    [Fact]
    public void NewNumber_should_randomize()
    {
        var number1 = Number.NewNumber();

        output.WriteLine(number1.Value);

        throw new Exception("Output _might_ only show if the test fails, depending on the runner");
    }
}

但是,保重,我之前在类似的问答中注意到 the Visual Studio runner might only show output if a test fails .

关于Resharper:如何写入控制台输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57766220/

相关文章:

c# - 强制 ReSharper 中的 'Implement members' 选项使用显式接口(interface)实现

tfs - 如何将 XUnit 事实关联到 TFS 中的测试用例

c# - 如何使用 NSubstitute 框架验证接收到具有特殊类型的 AddSingleton

c# - VSUTF、NUnit、xUnit.NET、MbUnit 与 SUTF 中的异步测试?

dependency-injection - 在 xunit 中实例化 IOptions<>

visual-studio - 如何配置 ReSharper 保存时的代码清理?

c# - Resharper 建议 : check for reference equality instead

binding - 如何让 Resharper 将 Specflow Bindings、Step Def 等注释视为隐式使用

c# - ReSharper - 使用 Microsoft.Contracts 时可能的空分配