2013-03-15 49 views
3

我喜歡在我的代碼中使用ClaimsPrincipalPermission,但存在一個問題:授權代碼干擾了單元測試。ClaimsPrincipal權限和單元測試

你會如何解決這個問題?關閉我的頭頂,我能想到的三種解決方案:

  • 有用於測試目的加載總是返回true所有的checkAccess調用
  • 添加一段代碼到真正的認證管理一個單獨的配置部分當一個單元測試運行
  • 創建一個不調用認證管理器在單元測試時

任何其他建議的搜索解決方案的自定義授權屬性永遠返回true所有的checkAccess認證管理器調用N +如果你實施了上述解決方案之一,我很想看看你做了什麼。

+0

歡迎!你能嘲笑它嗎?例如https://code.google.com/p/moq/wiki/QuickStart – oluies 2013-03-15 11:49:30

+0

什麼是環境? WCF或ASP.NET? – leastprivilege 2013-03-15 12:34:54

+0

這次環境是一個windows客戶端。嘲笑是不可能的(這是一個標準的Windows身份基礎方法,你不能自己控制對象創建),但上面提到的配置節解決方案基本上可以做同樣的事情。 – herbjorn 2013-03-15 12:43:08

回答

2

使用自定義ClaimsAuthorizationManager,它始終對單元測試返回true。

PrincipalPermissions一般都不是非常適合單元測試。