We have several tests which have been switched to using XUnit 3. We have an assembly-level
[assembly: CaptureConsole(CaptureOut = true, CaptureError = true)]
and we have several "more integration than unit tests" that write to the console. Out tests inject the ITestOutputHelper. We try to inspect the Output property of the field but we have the impression that not all tests capture the correct output.
We have noticed that XUnit calls the Console.SetOut() method and we are wondering if it is a safe assumption that each test instance will get its own private copy of that internal instance.
In Xunit 3, tests are OutputType=Exe and we wonder if several tests re-use the same process and therefore the same Console.Out. (We have also tried to disable parallel tests but even then some tests capture the wrong output).