데이터베이스 액세스가 필요한 메소드를 가진 많은 객체가 있습니다. 우리는 단위 테스트를 원하지만 가능한 경우 모의 객체 사용을 피하려고합니다. 아래에 표시된 Validate 메서드를 리팩터링하여 DB 액세스가 필요하지 않은지 궁금합니다. 실제 응용 프로그램에서는 일반적으로 더 많은 일이 발생하지만이 단순화 된 예제만으로 충분하다고 생각합니다.단위 테스트를위한 데이터베이스 종속성 피하기
모의 객체를 사용하는 법을 배울 것입니다. 그러나 오버 헤드가 많은 것처럼 보입니다. 그래서 대안을 찾고 있습니다.
public class Person
{
public string Name;
public string Validate()
{
if (PersonDA.NameExists(Name))
{
return "Name Already Used";
}
}
}
"단위 테스트"와 "통합 테스트"의 차이점과이를 사용할시기와 가장 적합한 점을 알고 있어야합니다. –
가끔 조롱 프레임 워크가 필요없는 다음 패턴을 사용합니다. http://www.unit-testing.net/CurrentArticle/How-To-Remove-Data-Dependencies-In-Unit-Tests.html – T123