unit-testing - .NET Core 中自定义过滤器属性的单元测试
问题描述
如何使用单元测试或集成测试来测试以下类?我用 NUnit 还是 xunit 都没有关系。我只想知道测试我的自定义过滤器属性的过程。
public class CheckDeleteFilterAttribute : ActionFilterAttribute
{
private readonly IUnitOfWork _unitOfWork;
public CheckDeleteFilterAttribute(IUnitOfWork unitOfWork)
{
_unitOfWork = unitOfWork;
}
public override async void OnActionExecuting(ActionExecutingContext context)
{
var userId = ((int)context.ActionArguments["userId"]);
var foundUser = await _unitOfWork.User.GetUserById(UserSession.UserID);
var foundPermission = foundUser.FpUserRoles.FirstOrDefault().Roles.Permissions.Any(q => q.Name == PermissionEnum.AS_UserManagement.ToString());
if (userId != UserSession.UserID && !foundPermission)
{
// don't continue
context.Result = new JsonResult(new {message = "You cannot delete your own record"}) {StatusCode = StatusCodes.Status401Unauthorized};
}
}
}
解决方案
推荐阅读
- supervisord - supervisord http://localhost:9001 拒绝连接
- php - 在没有 GROUP BY 的聚合查询中,SELECT 列表的表达式 #2 包含非聚合列“abid”;
- redis - Redis 原子弹出并添加到排序集,相当于 BRPOPLPUSH
- java - java - 如何从控制台获取下一行的输入?我已经编写了一个代码,但它没有提供所需的输出
- c# - .Net Core Async Await - 未按预期运行
- python-3.x - Pandas 数据透视表中的计算字段
- android - Unity启动画面android build 2018.2.5f1后灰屏10秒
- mirth-connect - 无法在 Windows 服务器公共 IP 上启动 mirth connect
- sql-server - 在 XPath 到 SQL Server XML 列中从 sum 中消除 xml 节点
- r - 如何在 R 中执行断线回归分析?