我有以下测试:
[Test]
public void LogTest()
{
TestContext.WriteLine("Hello");
TestContext.Error.WriteLine("Ergh");
TestContext.Out.WriteLine("Out");
TestContext.Progress.WriteLine("Is this progress?");
}
应该写出NUnit日志(?)。
当我使用Resharper运行它时,我只在单元测试会话窗口中显示字符串Hello
和Out
。
当它与NCrunch一起运行时,我根本没有任何输出。
答案 0 :(得分:2)
NUnit的Write语句都没有写在任何地方!它们被转换成消息,然后由跑步者作为事件处理。输出会在跑步者决定应该去的地方发送。
对于测试中的Console.Write,情况确实如此,因为NUnit会拦截它。
对于您正在使用的跑步者:
确保您拥有最新的Resharper。 TestContext.Error和TestContext.Progress创建一个新消息,您的版本可能无法处理。联系JetBrains人员,了解他们支持的内容。
对于NCrunch,我还会检查您的版本。 NCrunch非常密切地跟踪NUnit,如果最新版本无法处理所有内容,我会感到惊讶。
要立即查看消息,请使用NUnit3-console runner。