Visual studio 2010 如何捕获系统.Diagnostics.TraceSource';在类库中记录输出,并在MS单元测试中记录输出?

Visual studio 2010 如何捕获系统.Diagnostics.TraceSource';在类库中记录输出,并在MS单元测试中记录输出?,visual-studio-2010,unit-testing,mstest,Visual Studio 2010,Unit Testing,Mstest,我有一个名为“MyLib.Example”的TraceSource,但当我创建单元测试时,它的输出不会显示在测试结果中 我尝试添加位于测试项目内部的自定义TraceListener,并添加app.config以指向跟踪侦听器,我甚至添加了MyLib.dll.config,但仍然没有添加任何内容 那么,如何在正在使用MS unit进行单元测试的类库中捕获TraceSource的输出呢?在app.config中,您可以为ConsoleListener添加源。MSTest将拾取写入控制台的任何内容,并

我有一个名为“MyLib.Example”的TraceSource,但当我创建单元测试时,它的输出不会显示在测试结果中

我尝试添加位于测试项目内部的自定义TraceListener,并添加app.config以指向跟踪侦听器,我甚至添加了MyLib.dll.config,但仍然没有添加任何内容


那么,如何在正在使用MS unit进行单元测试的类库中捕获TraceSource的输出呢?

在app.config中,您可以为ConsoleListener添加源。MSTest将拾取写入控制台的任何内容,并将其显示在测试输出中

  <system.diagnostics>
    <sources>
      <source name="MyLib.Example" switchValue="Verbose" >
        <listeners>
          <add name="ConsoleListener" type="System.Diagnostics.ConsoleTraceListener" />
        </listeners>
      </source>
    </sources>
  </system.diagnostics>

在app.config中,您可以添加ConsoleListener的源代码。MSTest将拾取写入控制台的任何内容,并将其显示在测试输出中

  <system.diagnostics>
    <sources>
      <source name="MyLib.Example" switchValue="Verbose" >
        <listeners>
          <add name="ConsoleListener" type="System.Diagnostics.ConsoleTraceListener" />
        </listeners>
      </source>
    </sources>
  </system.diagnostics>


为什么需要在单元测试中进行跟踪?被测试的库发出的信息非常有助于确定导致测试失败的调用链。它是一个客户端库,某些故障只在特定的事件组合期间发生。为什么需要在单元测试中跟踪?正在测试的库发出的信息极大地帮助确定导致测试失败的调用链。它是一个客户端库,某些故障只在某些事件组合期间发生。