0
我有一個安全規則,即新註冊的用戶擁有對自己的用戶實體的完全權限。我正在使用Rhino.Security並且代碼工作正常,但我想創建一個單元測試以確保正確調用設置權限。下面是代碼的簡化verison:如何測試是否調用流暢的服務方法
public User Register(UserRegisterTask userRegistrationTask) {
User user = User.Create(userRegistrationTask);
this.userRepository.Save(user);
// Give this user permission to do operations on itself
this.permissionsBuilderService.Allow("Domain/User")
.For(user)
.On(user)
.DefaultLevel()
.Save();
return user;
}
我嘲笑userRepository和permissionBuilderService但permissionBuilderService的連貫接口需要從每個方法調用鏈中的(即.Allow返回不同的對象( ...)。(...)。(...)等)。但我無法找到一種方法來模擬鏈中的每個對象。
有沒有辦法測試permissionBuilderService的Allow方法是否被調用,但忽略了其餘的鏈?
感謝 丹
真正的permissionsBuilderService是否有任何副作用? (即在測試中是否可以使用真實的數據庫?) – Grzenio 2010-09-08 16:26:10
真正的permissionsBuilderService期望有附加的真實數據庫。這是可能的,但需要設置數據庫並將其分解爲每種類型的測試。我希望對事物要求不高。 – Dan 2010-09-08 16:31:24