、このアクションフィルタは、ユーザーのアクティビティをログに記録すると仮定されていますASP.NETコアでカスタムアクションフィルターをテストする方法は?私は私の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)
{
}
}
は今、私はちょうど私がそれのためのユニットテストを書くことができる方法を知りたいと思いました。私は使用していますxUnit
とMock
モック必要なすべての依存関係をテスト対象のメソッドを行使して、Nkosiが、私はAAAに従うだろう、と述べたのと同じ方向で実際の動作 – Nkosi
に対して期待される動作を確認してください:とにかく、これはあなたの試験方法は次のようになります方法ですパターン。アサインアサートアサート コントローラをテストする方法はこちら https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/testing – DOMZE