NUnit TestRunner でテストを実行するときに log4net のログを停止するにはどうすればよいですか

StackOverflow https://stackoverflow.com/questions/1723426

  •  19-09-2019
  •  | 
  •  

質問

まず私のシナリオを説明しましょう。

  1. 約 2000 個のテストを実行する必要がありますが、NUnit では約 30 秒かかります。
  2. 何が時間がかかっているのか知りたい
  3. Ants Profiler を開き、NUnit TestRunner のプロファイリングを取得し、テスト DLL を TestRunner にロードします。
  4. 次にテストを実行します...

ただし、プロファイリング中にテストを実行するには、 多く より長くなります (すべてのテストを実行するのに 30 秒ではなく、約 5 分かかります)。Ants Profiler でタイミングを調べてみると、log4net が多くの場所で呼び出されており、時間がかかっているようです。

それで、これが私の質問です。この方法でテストを実行しているときに、log4net のログ記録を停止するにはどうすればよいですか?

3 つの設定ファイルが見つかります。

  1. テスト DLL フォルダーには、config.log4net ファイルがあります。そこに <level value="OFF" /> を入れて、すべてのアペンダーセクションを削除しました。
  2. テスト ランナー フォルダーには、nunit.exe.config ファイルと nunit-console.exe.config ファイルがあります。両方に <level value="OFF" /> を入れました。
  3. ant profiler フォルダー内で使用できる構成ファイルが見つかりません。

これはどれも機能していないようです。プロファイル結果を見ると、log4net が呼び出されていることがわかり、ログ情報を出力するメソッドを確実に呼び出しています。

役に立ちましたか?

解決

テスト・セットアップでは、ルートロガーを取得し、OFFにそれのログレベルを設定します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top