Как проверить состояние в проекте архитектуры S # arp?
Например, у меня есть собственный RoleProvider. Я хочу протестировать метод Providerr.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 Mocks, но насколько я понимаю (по словам Айенде Рахиен), вы используете Rhino Mocks для проверки операций, а не для проверки состояния.
Итак, я думаю, что база данных SqlLite в памяти была бы более подходящей? Как лучше всего это сделать в S # arp Arch?