S#arp アーキテクチャ プロジェクトで状態をテストするにはどうすればよいですか?
たとえば、カスタム RoleProvider があります。メソッド provider.AddUsersToRoles(string[], string[]) をテストしたい。
だから私はから始めます:
// Arrange
const string ficticiousRole = "Management";
var userToExpect = UserInstanceFactory.CreateValidTransientUser();
var roleToExpect = RoleInstanceFactory.CreateValidTransientRole();
userRepository.Expect(r => r.GetByUsername(userToExpect.Username))
.Return(userToExpect);
roleRepository.Expect(r => r.GetByName(ficticiousRole))
.Return(roleToExpect);
var userNames = new List<string>();
var roleNames = new List<string>();
userNames.Add(userToExpect.Username);
roleNames.Add(ficticiousRole);
次に、ユーザーをロールに追加します。次に、ユーザーがこのロールにいるかどうかを確認します。
// Act
roleProvider.AddUsersToRoles(userNames.ToArray(), roleNames.ToArray());
var isNewUserInRole = roleProvider.IsUserInRole(userToExpect.Username, ficticiousRole);
// Assert
Assert.IsTrue(isNewUserInRole);
問題は、Rhino Mocks を使用していることです。私は Rhino モックの知識が限られていますが、(Ayende Rahien によると) 私の理解では、Rhino モックは状態ではなく操作のテストに使用されます。
だから、メモリ内のSqlLite dbの方が適していると思いますか? S#arp Arch でこれを行う最善の方法は何ですか?