Как проверить состояние в проекте архитектуры S # arp?Состояние тестирования в архитектуре S # arp - Лучшая практика
Например, у меня есть собственный RoleProvider. Я хочу проверить метод provider.AddUsersToRoles (строка [], строка []).
Так я начинаю с:
// 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 db в памяти будет более подходящим? Каков наилучший способ сделать это в S # arp Arch?
Вот что я подумал Крис. Благодарю. Я просто подумал, что в S # уже установлена некоторая база данных с памятью. – autonomatt 2010-12-01 10:49:34