S # arp 아키텍처 프로젝트에서 상태를 테스트하려면 어떻게해야합니까?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 Mock에 대한 지식은 제한되어 있지만, Ayende Rahien에 따르면 Rhino Mock을 사용하여 상태가 아닌 작동 여부를 테스트합니다.
그래서 메모리 내 SqlLite db가 더 적합할까요? S # arp Arch에서이 작업을 수행하는 가장 좋은 방법은 무엇입니까?
그게 내가 크리스라고 생각한거야. 감사. 방금 S # 내에서 메모리 내 데이터베이스가 이미 설치되어 있다고 생각했습니다. – autonomatt
Sharp에서 데이터베이스 작업을 테스트하는 방법을 설명하는 위키 항목을 찾았습니다. 기본적으로 테스트 클래스는 RepositoryTestBase에서 상속받습니다. 여기에 대한 자세한 정보 http://wiki.sharparchitecture.net/%28S%28qmzcoqrmp2gbmr45nfjqb1vo%29%29/Default.aspx?Page=Tutorial5RetriveResultsViaDao&AspxAutoDetectCookieSupport=1 – autonomatt