Nunit文本输出不正常

时间:2017-01-26 15:57:05

标签: .net unit-testing automated-tests nunit nunit-3.0

我有以下测试:

[Test]
public void LogTest()
{
    TestContext.WriteLine("Hello");
    TestContext.Error.WriteLine("Ergh");
    TestContext.Out.WriteLine("Out");
    TestContext.Progress.WriteLine("Is this progress?");    
}

应该写出NUnit日志(?)。

当我使用Resharper运行它时,我只在单元测试会话窗口中显示字符串HelloOut

当它与NCrunch一起运行时,我根本没有任何输出。

  1. 这是为什么?
  2. 我该怎么做?

1 个答案:

答案 0 :(得分:2)

NUnit的Write语句都没有写在任何地方!它们被转换成消息,然后由跑步者作为事件处理。输出会在跑步者决定应该去的地方发送。

对于测试中的Console.Write,情况确实如此,因为NUnit会拦截它。

对于您正在使用的跑步者:

  • 确保您拥有最新的Resharper。 TestContext.Error和TestContext.Progress创建一个新消息,您的版本可能无法处理。联系JetBrains人员,了解他们支持的内容。

  • 对于NCrunch,我还会检查您的版本。 NCrunch非常密切地跟踪NUnit,如果最新版本无法处理所有内容,我会感到惊讶。

要立即查看消息,请使用NUnit3-console runner。