0

nunit を使用して log4net ライブラリをテストできません。Google から返された検索結果を読みましたが、理解できませんでした。

これは私が得ているエラーです。

System.IO.FileNotFoundException : ファイルまたはアセンブリ 'log4net、Version=1.2.10.0、Culture=neutral、PublicKeyToken=692fbea5521e1304' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。

私のnunitテストプロジェクトでは、残りのプロジェクトが使用している正しいlog4net dllへの参照を追加し、構成ファイルを追加しましたが、うまくいきませんでした。

log4net libaray を使用するコンソール アプリケーションとテスト Web アプリケーションは正しく動作しています。

log4net nunit テスト プロジェクトにのみ問題があるようです。

log4net ライブラリを含む単純な nunit テストを開始するにはどうすればよいですか。

4

3 に答える 3

1

テストしようとしているものは何でも ILog を受け入れる必要があります。次に、それをモックして、テストしようとしているものに渡す必要があります。log4net のバージョンはまったく問題になりません。あなたのテストは、log4net が存在することさえ知らないはずです。

Rhinomocks を使用すると、次のようになります。

MockRepository mocks = new MockRepository();
ILog mockLog = mocks.DynamicMock<ILog>();

または、スタブを使用することもできます:

ILog mockLog = MockRepository.GenerateStub<ILog>();
于 2012-05-03T20:33:26.400 に答える
0

含めたランタイムlog4net.dllファイルを再確認してください。プロジェクトの.NETランタイムCLRと一致しなかったようです。アプリのターゲットNETバージョン([プロジェクト]-> [プロパティ])を確認し、log4net.dllのターゲットバージョンと一致していることを確認します。log4netのバージョン1.2.11には、バージョン4.0までのバイナリが含まれていることに注意してください。また、クライアントプロファイルのバージョンはフルバージョンとは異なり、独自の特定のdllファイルが必要です。

于 2012-05-27T17:00:10.670 に答える
0

log4net.dll が、テスト プロジェクトとテストによって参照されるプロジェクトで同じであることを確認しVersionます (ところで、log4net の最新バージョンは 1.2.11.0 です)。が true に設定されていることも確認Copy Localします。

log4net ライブラリを使用している場合、これはおそらく単体テストではなく統合テストです。

于 2012-05-02T07:39:13.283 に答える