단위 테스트가 있습니다. 각 테스트 메소드는 시스템의 기능에 대한 논리 UNIT를 테스트합니다. 내 유닛 테스트에서 외부 종속성 (db, file 등)은 Mocks와 Fakes를 사용하여 처리됩니다.통합 테스트 구성 요소
이제 iam이 통합 테스트에 어떻게 접근해야하는지 100 % 확신하지 못했습니다. 내가 단위 테스트를 반복하고 실제 자원 (DB, 파일 등)로 다음을 대체하거나 내가 같은 더 낮은 수준의 것들에 대한 테스트를해야한다 : 하나 개의 레코드를 검색 할 수 있습니다)
1) 데이터베이스
2 ping을 할 수
3) 파일이 존재
등 ...
내 직감 느낌이 그것의 대부분은 오른쪽 단위에서 수행 했어야 나는이 단계에서 비즈 논리를 방지해야한다는 것입니다?
감사
편집 : 난 내가 또한 내가 다음 내 통합 단계에서 비즈 로직을 테스트하기 위해 필요한 경우 내가 너무 내 테스트 스위트를 설정하는 방법이었다 알고 싶어 무엇을 내 질문에, 구성에 약간 게으른 테스트 코드 반복을 최소화합니다. 예를 들면 다음과 같습니다 :
[TestMethod] //Unit Tests
public void CanGetData()
{
IRepository rep = new MockRepository();
var result = rep.GetData();
Assert.IsTrue(result != null)
}
[TestMethod] //Integration Test
public void CanGetData()
{
IRepository rep = new Repository(); //real repository
var result = rep.GetData();
Assert.IsTrue(result != null)
}
어떤 테스트 구조가 효과가 있습니까? 유닛 테스트 어셈블리를 통합 프로젝트에서 직접 사용하고 올바른 리소스를 주입합니까?
대관 찰스! – ojblass