1
我在我的網站的管理部分中有一個控制器,並且使用設置爲admin的角色授權過濾器來裝飾它。如何測試控制器以確保將授權過濾器應用於正確的角色?
[Authorize(Roles = "Admin")]
public class SubscriberController : Controller
這很好,但我想創建一個單元測試,以確保過濾器不會被刪除。我有這麼多,以驗證授權過濾器是存在的。
typeof(SubscriberController).Should()
.BeDecoratedWith<AuthorizeAttribute>(
"Subscriber controller users must be admins");
如何驗證角色參數?我正在使用Fluent Assertion 1.7.1.1。
現在可以用流利的斷言V2:
typeof(SubscriberController).Should()
.BeDecoratedWith<AuthorizeAttribute>(a => a.Roles.Contains("Admin"),
"Subscriber controller users must be admins");
感謝您的回答......它還沒有實施,只是驗證訪問者被授權不夠好,不幸的是,不希望客戶更改他們自己的訂閱。 –
我們應該能夠爲它提供一個語法。我將在積壓2.0.0上創建一個項目。 –
謝謝丹尼斯,那太棒了。它將在ASP.NET MVC自動化測試中填補相當大的空洞,只能通過全棧集成測試來克服。 –