我在站点的管理部分有一个控制器,它装饰有授权过滤器,角色设置为管理员。
[Authorize(Roles = "Admin")]
public class SubscriberController : Controller
这很好用,但我想创建一个单元测试以确保不删除过滤器。到目前为止,我已经验证了 Authorize 过滤器是否存在。
typeof(SubscriberController).Should()
.BeDecoratedWith<AuthorizeAttribute>(
"Subscriber controller users must be admins");
如何验证 Roles 参数?我正在使用 Fluent Assertion 1.7.1.1。
现在可以在 Fluent Assertion v2 中:
typeof(SubscriberController).Should()
.BeDecoratedWith<AuthorizeAttribute>(a => a.Roles.Contains("Admin"),
"Subscriber controller users must be admins");