NUnit 测试运行程序中有六个选项卡:

Errors and Failures
Tests Not Run
Console.Out
Console.Error
Trace
Log

我知道什么 错误和失败 但其余选项卡的用途令人困惑。两个都 控制台输出痕迹 似乎有类似的目的。

正如评论所指出的,我写了一个类似的问题 如何 是否写入所有选项卡。在这个问题中,我要问的是 为什么 是否要写入每个选项卡? 为什么 有人写信给 控制台输出痕迹日志 标签? 什么 每个选项卡的预期用途是什么?

有帮助吗?

解决方案

“未运行的测试”选项卡显示跳过的测试。这些是定义了 Ignore() 属性的测试。如果您想要暂时禁用已知暂时无效的测试,或者定期运行的测试太耗时,这非常有用。

其余选项卡均包含在您的其他问题中:

  • Console.Out -> Console.WriteLine()
  • Console.Error -> Console.Error.WriteLine()
  • 跟踪 -> System.Diagnostics.Trace.WriteLine()
  • 日志 -> log4net 输出

Console.Out 将数据写入标准输出。

Console.Error 将数据写入 stderr。

跟踪将数据写入 跟踪对象 .

Log4Net 写入“各种日志目标”。

所有这些的目的都是相同的:无需使用断点和调试器即可深入了解代码运行时的行为。您使用哪一种取决于您的要求:控制台方法产生用户可见的输出。跟踪很容易显示/隐藏(并且包含大量额外信息),但似乎没有任何类型的持久性支持。日志记录可以是永久性的,但需要维护日志文件的开销。

其他提示

我希望在编写或调试测试时使用Console.Out,而Trace将用于显示被测代码的跟踪输出。代码中的跟踪输出可以使用Trace.WriteIf等条件,并通过配置文件中的开关定义打开。

  • Console.Out = 测试代码的输出(例如转储正在测试的方法返回的对象的内容)。

  • Console.Error = 测试代码检测到的错误的输出详细信息

  • Trace = 对正在测试的代码进行诊断跟踪。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top