ログに記録されたログを確認したい。私は内蔵のILoggerですasp.netコアを使用して、内蔵のDI asp.netコアでそれを注入しています:asp.netコア内蔵のIloggerをテストするには
private readonly ILogger<InvoiceApi> _logger;
public InvoiceApi(ILogger<InvoiceApi> logger)
{
_logger = logger;
}
その後、私は次のようにそれを使用する:_logger.LogError("error));
私はそれを嘲笑してみましたいつものように(MOQ有する)によって:
MockLogger = new Mock<ILogger<InvoiceApi>>();
によって試験のためのサービスでこれを注入:トライ次いで
new InvoiceApi(MockLogger.Object);
D検証:
MockLogger.Verify(m => m.LogError(It.Is<string>(s => s.Contains("CreateInvoiceFailed"))));
が、それは投げる:
無効は非仮想(オーバーライドVBで)メンバーに確認してください:だからメートル=> m.LogError
、どのようにすることができますこのログが記録されたことを確認しますか?
あなたの特定の問題を明確にしたり、必要な正確に何を強調表示するために、追加の詳細情報を追加してください。現在書かれているとおり、あなたが求めていることを正確に伝えるのは難しいです。この質問を明らかにするには、[How to Ask](http://stackoverflow.com/help/how-to-ask)ページを参照してください。 – Nkosi
最後に行を追加しました。今問題は明らかですか? – arielorvits
あなたは、ロガーを使用している状況では表示されていません。テスト中のシステム/メソッドを表示します。ロガーがどのように注入され使用されているかを示します。 – Nkosi