JetBrains Rider 2024.1 Help

Code Inspection: Console output in Xunit tests

Category

Xunit

ID

Xunit.XunitTestWithConsoleOutput

EditorConfig

resharper_xunit_xunit_test_with_console_output_highlighting

Default severity

Warning

Language

C#

Requires SWA

No

Output of unit tests is often printed using Console.WriteLine. However, this may not work correctly with xUnit.net 2.x, because parallelization is turned on by default there. Instead, as the xUnit.net documentation suggests, you should use ITestOutputHelper to capture test output.

JetBrains Rider will warn you about usages of Console.WriteLine inside Fact methods and suggest a quick-fix that will convert these usages to instances of ITestOutputHelper.

public class XUnitTestClass { [Fact] public void Test1() { Console.WriteLine("Hello"); } }
public class XUnitTestClass { private readonly ITestOutputHelper _testOutputHelper; public XUnitTestClass(ITestOutputHelper testOutputHelper) { _testOutputHelper = testOutputHelper; } [Fact] public void Test1() { _testOutputHelper.WriteLine("Hello"); } }
Last modified: 17 April 2024