2013-10-10 77 views

回答

0

由於它是對方法的單元測試而不是給定攔截器的單元測試,因此不需要打擾身份驗證和ACL基礎結構。如果你想測試AccessDeniedException在用戶沒有被授權訪問該對象時被拋出,單元測試攔截器本身。在你的情況下,只是測試你的方法確實/返回期望做/返回。

如果驗證未授權訪問給定對象,春季安全ACL方法攔截拋出AccessDeniedException如上指出,它是無論是在AccessDeniedHandler或在直接或間接調用安全方法的方法的catch塊處理。如果這是您的情況,則組件的責任取決於您的安全方法以正確處理異常。

對這樣一個組件的單元測試可以創建一個組件的模擬組件,注入安全的方法並模擬投擲AccessDeniedException。然後檢查是否正確處理了異常。

+0

我正在使用JUnit 4,如果在單元測試期間它不會返回'AccessDeniedException',但它在現實世界中,它在配置單元測試時缺少什麼? – huahsin68

相關問題