R#2016(10)+ Nunit 3 - 如何在测试运行期间显示输出?

时间:2016-11-02 08:12:33

标签: unit-testing nunit resharper nunit-3.0 resharper-10.0

我的设置如下:

  • VS 2015 Professional 2015
  • Resharper Ultimate 2016.1.2
  • Nunit 3.4.1

由于腭化,Nunit 3不再在测试运行器窗口中显示Console.Write输出(参见this documentation page)。如果想要在测试运行时查看输出,则会产生问题in this Nunit issue。分辨率(据我所知!)是介绍TestContext.Progress能够动态写入测试输出窗口(在Nunit控制台中)。然而,我已经尝试使用Resharper并且它没有在所有时间显示(即使在测试完成后也是如此)。

总结:

    测试结束后
  • Console.Write 会附加到测试结果输出
  • TestContext.Write TestContext.Out.Write 的缩写)直接发送到测试结果输出,但仅在测试结束后显示
  • TestContext.Progress.Write 将直接发送到控制台
  • Resharper将显示 TestContext.Write &测试结束后 Console.Write TestContext.Progress.Write

我的问题是:Resharper可以动态显示任何输出吗?应该使用哪种方法?

干杯

1 个答案:

答案 0 :(得分:3)

Console类有SetOut方法,可让您将输出重定向到某些TextWriter。您可以在测试夹具设置中使用它。

在使用类似设置的Resharper测试运行器时,这对我有用:

Console.SetOut(TestContext.Progress);