testen Ich möchte einige Protokolle protokolliert werden. Ich bin mit dem asp.net Kern eingebaute in ILogger und injizieren sie mit dem asp.net Kern integrierter DI:Wie asp.net Core integrierten Ilogger
private readonly ILogger<InvoiceApi> _logger;
public InvoiceApi(ILogger<InvoiceApi> logger)
{
_logger = logger;
}
dann verwende ich es mag: _logger.LogError("error));
Ich versuchte, es zu verspotten (mit moq) wie üblich durch:
MockLogger = new Mock<ILogger<InvoiceApi>>();
und dies für den Test in den Dienst einzuspritzen:
new InvoiceApi(MockLogger.Object);
dann Trie d überprüfen:
MockLogger.Verify(m => m.LogError(It.Is<string>(s => s.Contains("CreateInvoiceFailed"))));
aber werfen:
ungültig auf einem nicht-virtuelles (overridable in VB) Mitglied überprüfen: m => m.LogError
So, wie kann Ich überprüfe diese Protokolle protokolliert?
Bitte klären Sie Ihr spezielles Problem oder fügen Sie weitere Details genau zu markieren, was Sie brauchen. Wie es derzeit geschrieben wird, ist es schwer zu sagen, was genau Sie fragen. Informationen zur Klärung dieser Frage finden Sie auf der Seite [Wie Sie fragen] (http://stackoverflow.com/help/how-to-ask). – Nkosi
Ich habe am Ende eine Zeile hinzugefügt. Ist jetzt die Frage klar? – arielorvits
Sie zeigen nicht an, in welchem Kontext Sie den Logger verwenden. Zeigen Sie das getestete System/die Methode an. Zeigen Sie, wie der Logger injiziert und verwendet wird. – Nkosi