ich ein einfaches Action-Filter in meinem ASP.NET Core-Anwendung erstellt haben, diese Aktion Filter wird angenommen, Benutzer-Aktivität zu protokollieren:So testen Sie benutzerdefinierte Aktionsfilter in ASP.NET Core?
public class AuditAttribute : IResultFilter
{
private readonly IAuditService _audit;
private readonly IUnitOfWork _uow;
public AuditAttribute(IAuditService audit, IUnitOfWork uow)
{
_audit = audit;
_uow = uow;
}
public void OnResultExecuting(ResultExecutingContext context)
{
ar model = new Audit
{
UserName = context.HttpContext.User,
//...
};
_audit.Add(model);
_uow.SaveChanges();
}
public void OnResultExecuted(ResultExecutedContext context)
{
}
}
Jetzt wollte ich nur wissen, wie kann ich Unit-Tests für sie schreiben. Ich verwende xUnit
und Mock
Mock all notwendigen Abhängigkeiten, die Methode im Test ausübt und dann erwartetes Verhalten gegen tatsächliches Verhalten – Nkosi
In der gleichen Richtung überprüfen, ob Nkosi sagte, ich würde das AAA folgen Muster. Arrange Act Assert Sehen Sie hier, wie Sie Ihre Controller testen können https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/testing – DOMZE