NUnitからlog4netを使うライブラリを使う場合
常識なのか知らないけど、log4netでログを吐くアセンブリAを、NUnitテスト用アセンブリBから参照して使うような場合の注意。
B.config に log4net の設定を行うだけでは、その内容を読んでくれないらしく、ログが出力されない。
期待通りログが吐かれるようにするには、Bに
[SetUpFixture] public class SetupClass { [SetUp] public void RunBeforeAnyTests() { log4net.Config.XmlConfigurator.Configure(); } }
のようなものを追加して、テスト前に明示的に B.config を読んでlog4net設定が行われるようにする必要があるらしい。
コンソールアプリケーションCからAを使うようなケースでは C.config に log4net の設定をするだけでいいので、何故NUnitではだめなのかわからず、微妙にハマった。