2013-01-16 6 views
0

ORM 도메인 모델의 구조를 검증하는 일련의 단위 테스트가 있습니다. 첫 번째 테스트는 메타 데이터의 엔티티 수를 계산하므로 146 개의 엔티티를 사용할 수 있습니다.단위 테스트 방법 테스트 수

이 경우 property\collection 이름의 유효성을 검사하기 위해 146 단위 테스트가 필요하다는 의미입니다.

내 문제는 내가 시험 :

엔티티 수를 확인하는 방법이 있나요을 테스트하는 테스트를 필요로한다는 것입니다 == (수업 시간에 많은 방법을 거기로 이름을 X로 시작하는) 시험 방법 수

+1

테스트 수보다는 [단위 테스트 적용 범위] (http://msdn.microsoft.com/en-us/library/dd537628.aspx)에 초점을 맞추어야합니다. –

+0

엔티티 당 하나의 테스트가 있는지 확인하고 싶습니까? 좋은 테스트 주자는 테스트 세트에서 얼마나 많은 테스트를 수행했는지 알려 줄 것입니다. – ScruffyDuck

+0

왜 각 속성/컬렉션의 이름을 테스트해야합니까? 이는 구현하기에는 너무 연약한 테스트라고 생각합니다. –

답변

0

나는 당신이 당신의 ORM 솔루션의 각 엔티티에 대한 테스트를 작성했음을 검증하고자하는 질문을 이해합니다. 특히 146 개의 엔티티가있는 경우 146 개의 해당 테스트가 있어야한다고 가정합니다. 실제로 정확한 수의 테스트를 작성했다고 주장하려고합니다.

가장 확실한 해결책은 테스트 어셈블리에서 리플렉션을 사용하여 찾고있는 테스트를 추출하는 것입니다. 엔티티의 해시 세트를 만들고 네이밍 규약 또는 정의한 사용자 정의 속성을 사용하여 테스트 픽스처를 식별하는 것 등 여기에서 할 수있는 많은 간단한 작업이 있습니다.

그러나 더 나은 해결책이되기 전에 비슷한 문제에 직면 한 것은 메타 데이터 및 리플렉션을 사용하여 엔터티를 테스트하는 일부 사용자 지정 테스트 프레임 워크 코드를 사용하는 것입니다. 동일한 "테스트 방법"문제는 여기서도 발생하지만 긴 양식 테스트 및 사용자 지정 테스트 프레임 워크가 동일한 결과를 달성한다는 것을 입증하는 몇 가지 테스트를 작성하여 완화 할 수 있습니다. 자동화가 건전하다는 것을 증명할 수 있다면 테스트에 대한 유지 보수 문제가 더 이상 문제가되지 않습니다. 또 다른 장점은 테스트 데이터를 무작위로 추출하여 테스트가 자주 실행되는 경우 엔티티의 예기치 않은 문제를 발견 할 수 있다는 것입니다.