將我的腳趾浸入到asp.net和mvc中,更具體地說是MVC 5的web-api(2.0)部分,我喜歡使用屬性並創建自己的屬性類來控制請求的處理方式以及響應返回api終點。如何確保asp.net web-api服務中的所有控制器在單個測試課程__中正確配置?
"How to test "Only certain roles should have access to a controller in MVC"文章介紹瞭如何對單個控制器進行單元測試,以確保它保持正確的屬性並且不會添加不需要的屬性。
這是單個測試單個控制器的完美方法。但是,我更喜歡將API配置的所有測試都放在一個地方,而不是散佈在單個控制器的單元測試中。特別是使用attribute routing時,控制器可以很容易地被不同的控制器替換,該控制器可能沒有正確的屬性,而且其測試夥伴不會爲它們測試。
我設想的是一個單一的測試類,API配置的所有方面都可以保證免受(無意)變化的不良影響。我正在努力的是如何設置這一點。 Bryan Avery的文章(如上所述)顯示瞭如何獲得控制器類的自定義屬性列表,但是:
如何獲得測試項目中所有控制器的列表?
哇,你要快一點。 –
我從一個類似的項目複製粘貼,因爲我自己需要一次。 ;) – Haney
只是一個錯字:'.Where(t => t.IsAssignableFrom(typeof(ApiController)))' –