使用NUnit engine时,如何打印到NUnit控制台?我已经尝试使用Console.Write、TestContext.Write和System.Diagnostics.Debug.WriteLine,但它们都不会向控制台输出任何内容;到目前为止,NUnit控制台根本没有输出。我需要一个解决方案,当NUnit引擎运行时,我可以打印到项目中的控制台,也可以打印到测试本身。这样做的正确方法是什么?
发布于 2017-01-05 23:56:57
由于您是从程序运行NUnit测试,因此通过调用引擎不会产生任何输出。如果你仔细想想,使用库的程序通常不希望库在没有被告知的情况下产生输出。
在这种情况下,测试的所有输出都会以事件的形式传回给您。所有正常写入(Console.Write、TestContext.Write)都捆绑在测试结果中。立即写入(Console.Error、TestContext.Error、TestContext.Progress)以测试输出事件的形式出现。你可以用它们做你想做的事情。
NUnit控制台运行者和gui都必须这样做,因此您可以查看代码,了解如何处理事件的一些想法。
https://stackoverflow.com/questions/41492256
复制