首先,我想指出我真的不想处理标准输出......我只想知道为什么我会看到所描述的行为。我没有写描述的错误代码。
我使用 .NET 4 进行单元测试,使用 .NET 3.5 进行测试的代码。我使用 MSTest for .NET 4 作为我的测试框架。
最近,我一直在使用一个由于处理标准错误输出的错误而引发错误的库。(请参阅LibTiff.NET ReadDirectory is given System.ObjectDisposedException Only during Unit Tests)。
这是他们的代码相对的样子:
using (TextWriter stderr = Console.Error)
{
...
}
基本上,在不运行单元测试时,即使专门处理标准输出也不处理,但在运行单元测试时,是允许的。
谁能解释为什么标准输出仅在单元测试的上下文中是一次性的?