Trace、Console、およびConsole Errorの出力を共通の XML レポート ファイル (たとえばcad.UnitTests.xml ) に書き込む必要があります。デフォルトでは、この情報は XML で書き込まれません。
どうすればいいですか?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.exe
との両方の場合に必要ですnunit.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%file_name%_err.txt」 ) にありません。
トレース出力リダイレクトのnunit-console.exe
オプションが表示されません(のようなもの)。パラメータが表示されますが、別の目的があります。/traceFile
/trace
ReportUnit.exeを介して HTML の生成に結果の XML を使用するため、これが必要です。HTMLで詳細情報を見たい。
単体テストのコードで、トレース出力を 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 によって生成される) でこの情報を取得できることを期待しています。