작성
·
576
0
안녕하세요.
단위 테스트를 작성하여 확인한 후, 통합 테스트를 진행해보고 있습니다.
궁금한 점은 통합테스트 실행시 단위 테스트들이 실행되지 않는 다는 것인데 별도의 설정이나 콜이 필요한가요?
제가 이해한 바로는 @SpringBootTest 가 붙은 통합테스트 진행시 @Test가 붙은 단위 테스트들을 contextload()에서 자동으로 실행 되는 것으로 알고 있습니다.
현재 SpringBootTest쪽에는 별도의 코드가 있진 않고 빈 contextload()만 존재합니다.
조언 부탁드리겠습니다. 감사합니다.
답변 1
0
"@SpringBootTest 가 붙은 통합테스트 진행시 @Test가 붙은 단위 테스트들을 contextload()에서 자동으로 실행 되는 것"
아닙니다.
@Test는 "단위테스트"를 가리키는 애노테이션이 아닙니다.
JUnit 테스트는 통합 테스트이건 단위 테스트이건 상관없이 @Test가 붙어 있는 메소드를 모두 테스트 합니다. 그때 테스트 실행 전에 준비되는 작업(스프링 컨텍스트 로딩 등) 등이 있다면 @SpringBootTest등에 의해서 지원될 뿐입니다. 테스트 실행 여부는 전적으로 @Test가 메소드에 붙어있는가에 의해서 결정됩니다.
정확히 어떤 상황인지 코드를 보여주시고 어떻게 실행했을 때 어떤 테스트가 동작을 하고, 어떻게 하면 안 됐는지를 알려주세요.
그리고 클래스 내에 여러 @Test 메소드가 있을 때 특정 메소드 내부를 클릭한 상태에서 테스트를 수행하면 해당 테스트 메소드 1개만 동작할 수 있습니다. 그건 주의하셔야 합니다.
말씀해주신 부분 참고해서 해결하였습니다.
통합 테스트의 대한 이해를 아예 잘못했네요 :)
답변 감사드립니다.