Im는 Grails로 개발 중입니다. 프레임 워크가 데이터를 부트 스트랩하고 스프링 컨텍스트를 완전히 플러시하므로, 필자는 서비스에 대한 많은 통합 테스트를 작성합니다. 나는 그것을 다시 말하게한다. 나는 서비스를위한 단위 테스트를 쓰지 않고 통합 테스트만을 쓰는 것을 발견했다. 이것은 나쁜 생각입니까? 내가보기에 유일한 단점은 테스트가 조금 더 오래 걸린다는 것입니다.통합 대 유닛 테스팅
컨트롤러와 같이 컨트롤러에서 단위 테스트를 사용합니다. 다양한 응용 프로그램 흐름, 결과 유형, 리디렉션 논리 등을 테스트하고 있습니다.하지만 작성한 테스트의 대부분은 통합 테스트입니다. 이것은 전통적 J2EE 테스트와의 단절된 것으로 보이는데, 대부분 단위 테스트가 작성됩니다.
edit- 분명히 말하면, 통합 테스트는 코드가 복잡하기 때문에 통합 테스트를 작성하지 않습니다. 통합 테스트 만 수행하면됩니다. 프레임 워크가 당신에게 너무 많은 것을 제공하기 때문에 모든 것을 함께 테스트하는 것이 더 쉽기 때문에 통합 테스트를 작성합니다. 나는 서비스가 acegi authenticationService와 협력한다면, 나는 그것을 조롱한다. 특별한 셋업없이 실행되는 테스트를하기 위해서는 웹 서비스와 상호 작용할 때마다 나는 조롱한다.
통합 테스트는 단위 테스트보다 더 취약 할 수 있습니다. 대부분 통합 테스트를 작성하는 경우 프로젝트를 리팩터링하여보다 쉽게 단위 테스트 할 수 있도록하십시오. 코드를 테스트 할 수 있도록 작성하면 단위 테스트가 통합 테스트보다 작성하기가 쉽고 안정적입니다 (중단 될 가능성이 적음). 통합 테스트는 시스템 구성 요소 간의 상호 작용을 테스트하는 데 적합하지만 항상 적절한 코드 적용 범위를 제공하지는 않으므로 단위 테스트를 대신 할 수 없습니다. –