계정 컨트롤러 -> 등록 동작 -> 밸리데이션 리지 스턴 션 기능에 사용자 등록 양식의 빈칸을 테스트하는 기능을 추가했습니다. 사용자가 입력 한 전자 메일 주소가 이미 시스템에 있으면 양식에 오류가 발생합니다. ValidateRegistration 함수의 끝에 중복 전자 메일 주소를 확인하는 함수를 추가했습니다..NET MVC에서 중복 전자 메일 주소를 테스트하는 방법
linq를 사용하여 데이터베이스를 쿼리하여 사용자 목록을 만들고 런타임 중에 잘 작동하는 전자 메일을 확인합니다. 등록 작업 중 중복 이메일 주소에 대한 사용자 객체 (사용자 이름, 비밀번호 등)를 테스트하여 시각적 기본 테스트를 만들었습니다. ValidateRegistration을 피하여 데이터베이스를 쿼리하고 사용자 목록 (런타임 중에 원하는 것)을 만들지 만 Unit 테스트 중에 ValidateRegistration을 가짜 사용자 객체로 공급합니까?
샘플 코드 : 계정 콘트롤은
public ActionResult Register(string username... string password...)
{
//Call the ValidateRegistration(string username... string password...);
//Add user if ValidateRegistration checks have passed
}
공공 ValidateRegistration은 (문자열 사용자 이름 ... 문자열 암호는 ...) { // 사용자 이름을 확인하는 경우 빈 // ModelState.AddModelError (사용자 이름이 비어)
// 암호 길이를 확인 // ModelState.AddModelError (암호가 너무 짧은 메시지입니다)
// 목록 lstUsers의 =의 GetUsers(); // 전자 메일 주소가 이미 사용 중인지 확인하십시오. // ModelState.AddModelError (이미 전자 메일 사용)
// 위 전자 메일 주소 검사의 단위 테스트는 어떻게합니까?
}
에 SampleCode는 : 단위
public void RegisterPostReturnsViewIfFirstnameNotSpecified()
{
// Arrange
AccountController controller = GetAccountController();
// Act
ViewResult result = (ViewResult)controller.Register(string username... string password...)
// Assert
Assert.AreEqual(6, result.ViewData["PasswordLength"]);
Assert.AreEqual(See if error message is equal);
}