문제

예, 나는 이것을 입력 한 후 위의 상자에서 '관련 질문'을 읽었습니다 =). 그들은 둘 사이의 차이점을 이해하기 때문에 여전히 내가 원하는만큼 도움이되지 않았습니다. 특정 경우에 필요한지 확실하지 않습니다.

따라서 완전 단위 테스트 (Simple & Small) 응용 프로그램이 있습니다. Excel 스프레드 시트를 매개 변수로 가져오고 데이터를 추출하고 데이터베이스를 확인하여 이미 해당 데이터가 있는지 확인하고 그렇지 않은 경우 요청을합니다. 제 3 자 공급 업체가 해당 응답을 받고 데이터베이스에 넣은 다음 작업을 완료합니다 (DB 업데이트가 다시 업데이트).

공급 업체와 대화 할 IConnection이 있습니다. IPARSER는 Excel/공급 업체 파일을 구문 분석하고 IDATAACCESS를 통해 모든 데이터베이스 액세스를 수행합니다. 내 직업 수업은 Lean & Mean이며 실제로는 논리를 많이하지 않습니다. 모두 논리의 경우, 그것은 실제로 복합 객체에 대한 데이터를 따라 '체인링'입니다 ...

따라서 모든 복합 객체는 DAL을 포함하여 단위 테스트 자체이며 작업 클래스의 내 run () 메소드조차 가능한 모든 코드 경로에 대한 모의를 사용하여 완전히 테스트됩니다.

그렇다면 -이 시점에서 어떤 유형의 통합 테스트를 수행해야합니까? 다른 통합 테스트를 수행하고 다른 통합 테스트를 수행 한 다음 앱을 실행하여 작동하는지 확인해야합니까? Mocks를 사용한 Run () 메소드의 테스트가 통합 테스트를 고려 했습니까? 또는 통합 테스트가 모의 대신 실제 인스턴스를 사용한 다음 알려진 Excel 스프레드 시트 입력을 기반으로 마지막에 데이터베이스 값을 주장해야합니까? 그러나 이것이 바로 내 단위 테스트가 이미 수행 한 일입니다 (별도의 장소에서, 조롱 된 런 테스트는 해당 장소가 '연결'을 확인합니다)! 건식 방법론에 따라 여기에서 통합 테스트를 수행 할 필요가 없습니다 ...

나는 명백한 사람들을 놓치고 있습니까? 다시 한 번 감사드립니다 ...

도움이 되었습니까?

해결책

당신이 놓친 가장 큰 것은 외부 시스템의 실제 행동이라고 생각합니다. 단위 테스트는 개별 단계가 예상 조치를 수행한다고 주장 할 수 있지만 외부 시스템에 액세스 할 때 발생할 수있는 런타임 문제를 밝히는 데 거의 도움이되지 않습니다. 외부 시스템에는 모르는 데이터도 포함 할 수도 있습니다.

그렇습니다. 둘 다 필요하다고 생각합니다. 두 테스트 모두에서 반드시 똑같이 상세 할 필요는 없습니다. 때로는 통합 테스트가 연기 테스트가 될 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top