내가 좋아하는 방법을 다음데이터베이스 쿼리를 사용하여 데이터를 업데이트하는 방법을 테스트하려면 어떻게합니까?
public void ImportDataCommand()
{
// some data validation logic here
if (some_criteria_is_true)
{
// Call to a method which uses sql queries to update some records
UpdateRecords();
}
else
{
// Call to a method which uses sql queries to delete some records
DeleteRecords();
}
}
- 을 어떻게 단위 테스트 방법
UpdateRecords()
및DeleteRecords()
수 있습니까? (가능한 경우) - 내가 가지고있는 현재 패턴은 냄새입니까?
- 일부 데이터 유효성 검사 논리 및 일부 조건부 논리에 따라 달라지는 데이터 업데이트 논리가있을 때 더 나은 처리 방법이 있습니까?
이 점에 대해 도움을 주시면 감사하겠습니다. 더 많은 정보가 필요하거나 명확하지 않은 것이 있으면 알려주십시오.
업데이트 :
나는 여기에 데이터 소스를 조롱에 관심이 아니다. 내 SQL 쿼리가 정확하고 올바른 업데이 트를하고 있는지 확인하고 싶습니다. 혼란스러워서 미안하다면 데이터 유효성 검사 논리 (SQL)와 대조적으로 유효성 검사 논리를 테스트하고 싶습니다.
프레임 워크를 조롱 한 경험이 있으며 정상적인 응용 프로그램 논리에 대한 단위 테스트를 작성하는 데 성공적으로 사용했습니다.
귀하의 방법은 아무 것도 반환하지 않습니다. 대개 단위 테스트를 통해 많은 매개 변수가 제공되고 반환 값이 예상과 일치하는지 테스트합니다. –
@ 네빌 : 맞아. 예를 들어 데이터베이스에 데이터를 저장/업데이트하는 응용 프로그램 명령을 테스트하려고합니다. 그렇게 할 수있는 방법이 있습니까? NUnit을 사용하여 정상적인 응용 프로그램 로직에 대한 단위 테스트를 성공적으로 작성했습니다. –
일반적인 방법은 조롱 프레임 워크를 사용하는 것입니다. 따라서 테스트를 특정 데이터베이스 아래에서 분리 할 수 있습니다. –