如何将跟踪,控制台和错误输出写入我的XML报告文件?

时间:2015-06-19 12:29:55

标签: nunit nunit-console

我想将跟踪控制台控制台错误输出写入公共XML报告文件(例如进入 cad.UnitTests.xml )。默认情况下,此信息不是用XML编写的。

enter image description here

我该怎么办? nunit-console.exe有以下参数:

/output=STR  File to receive test output (Short format: /out=STR)
/err=STR  File to receive test error output

但我需要在相同的XML文件中获取。我在两种情况下都需要它:nunit-console.exenunit.exe。另外,我查看了GUI NUnit的设置但没有找到任何内容。

我的BAT文件包含以下内容:

:: run_me.bat
:: © Andrey Bushman, 2015
ECHO OFF

CD /D %~dp0
SET file_name=cad.UnitTests

:: Run NUnit tests
call "%NUNIT%\nunit-console.exe" ^
  /out="%~dp0%file_name%_out.txt" ^
  /err="%~dp0%file_name%_err.txt" ^
  /trace=Verbose ^
  /noshadow ^
  /xml="%~dp0%file_name%.xml" ^
  "%~dp0%file_name%.dll"

:: Get the HTML report of the unit testing
call "%ReportUnit%\ReportUnit.exe" ^
  "%~dp0%file_name%.xml" ^
  "%~dp0%file_name%.html"

但即使我使用这样的命令:

call "%NUNIT%\nunit-console.exe" ^
  /out="%~dp0%file_name%_out.txt" ^
  /err="%~dp0%file_name%_err.txt" ^
  /noshadow ^
  /xml="%~dp0%file_name%.xml" ^
  "%~dp0%file_name%.dll"

然后“%~dp0%file_name%_out.txt”“%〜dp0% _err.txt“)。

我没有看到跟踪输出重定向的nunit-console.exe选项(类似/traceFile)。我看到/trace参数,但它有其他用途。

对我来说这是必要的,因为我使用结果XML通过ReportUnit.exe生成HTML。我希望在HTML中看到详细信息。

我可以在我的单元测试代码中将Trace输出保存到TXT文件中:

/* SetUpClass.cs
 * © Andrey Bushman, 2015
 */

namespace Bushman.CAD.UnitTests {
  using System;
  using System.IO;
  using System.Diagnostics;
  using NUnit.Framework;

  [SetUpFixture]
  public class SetUpClass {

    private TextWriterTraceListener listener = null;

    [SetUp]
    public void RunBeforeAnyTests() {
      Stream traceFile = File.Create("trace_out.txt");
      listener = new TextWriterTraceListener(traceFile);
      Trace.Listeners.Add(listener);
    }

    [TearDown]
    public void RunAfterAnyTests() {
      listener.Flush();
    }
  }
}

但我仍然希望能够通过NUnit的“原生”方式在XML文件(由NUnit生成)中获取此信息。

0 个答案:

没有答案