inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Practical Testing: 실용적인 테스트 가이드

테스트 수행도 비용이다. 환경 통합하기

contextLoads() 테스트는 왜 깨진 것인가요?

264

홍석호

작성한 질문수 1

0

강의 중에 별도의 언급 없이 지우고 넘어가셔서 질문합니다.
contextLoads() 테스트는 왜 깨진 것인가요?
이 테스트는 지워도 되는 것인가요? 

spring tdd jpa mockito 소프트웨어-테스트 junit5

답변 2

0

박우빈

안녕하세요, 홍석호 님!

해당 테스트는 스프링 프로젝트를 생성할 때 기본적으로 스프링 컨텍스트가 잘 띄워졌는지 체크할 수 있도록 하는 테스트입니다. 보통은 크게 의미가 없어서 지우고 시작하는데요 ㅎㅎ (다른 통합 테스트로 컨텍스트 로딩은 이루어지므로)
아마 프로젝트 생성 후, 이것저것 예제 프로젝트를 발전시킨 뒤에 해당 테스트를 수행해서, SpringBootApplication 패키지 위치가 맞지 않아 테스트가 실행시킬 애플리케이션을 찾지 못해서 깨진 것 같아요.

도움이 되셨기를 바랍니다.
감사합니다. 🙂

0

홍석호

패키지 위치가 맞지 않으면 깨질 수 있군요. 감사합니다. 🙂

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.
홍석호님, 질문 주셔서 감사합니다.

contextLoads() 테스트는 Spring Boot 프로젝트 생성 시 기본적으로 추가되는 테스트로, Spring 애플리케이션의 전체 컨텍스트가 정상적으로 로드되는지를 확인하는 역할을 합니다. 이 테스트가 깨졌다면, 주로 애플리케이션 컨텍스트의 초기화에 문제가 있을 가능성이 큽니다. 이는 아래와 같은 이유로 발생할 수 있습니다:

  1. 의존성 문제: 필요한 의존성이 누락되었거나 올바르게 설정되지 않았을 수 있습니다.
  2. 환경 설정 문제: 프로퍼티 설정이 잘못되었거나 환경 변수에 오류가 있을 수 있습니다.
  3. 구성 오류: 잘못된 @Configuration 설정이나 부적절한 빈 정의로 인해 발생할 수 있습니다.

이 테스트는 애플리케이션 컨텍스트가 전체적으로 제대로 설정되어 있는지 확인하는 기본적인 방법이기 때문에, 지우기보다는 문제가 발생한 원인을 찾아 해결하는 것이 좋습니다. 그러나 프로젝트의 특정 상황에 따라 이 테스트가 필요하지 않다면 삭제할 수도 있습니다.

추가적으로, Spring Boot에서 @*Test 어노테이션을 사용하여 필요한 설정을 자동으로 검색하고 적용하기 때문이므로, 별다른 설정이 필요하지 않은 경우도 많습니다. 이러한 테스트가 반복적으로 깨질 경우, @TestConfiguration을 사용하여 테스트 케이스에 맞는 환경을 별도로 구성할 수도 있습니다.

더 자세한 정보는 여기를 참고해 보시기 바랍니다.

private 상수 테스트 관련 질문

0

87

1

void는 어떻게 테스트하나요..? void로 애초에 코딩하면 안되나요??

0

128

2

커버리지는 어떻게 활용하시는지 궁금합니다.

0

163

2

테스트 문서화 질문입니다

0

107

2

단위테스트 질문이 있습니다

0

96

2

컨트롤러는 모킹을 한 이유가 궁금합니다.

0

106

2

ERD 가장자리에 있는 도메인 테스트 질문

0

90

2

DTO 검증 필드에 대한 테스트 코드 작성은 어디까지?

0

136

2

OrderCreateRequest DTO에 대해서 궁금한점

0

104

2

고전파의 테스트 대역 사용 대상, 공유 의존성

0

157

2

계층 관련 질문이 있습니다.

0

140

3

'코틀린'에서는 빌더를 따로 쓰지 않는데, 이 때는 어떻게 test fixture를 만드시는지 궁금합니다

1

124

2

혹시 update 로직은 어떻게 테스트하나요? (@Setter?)

0

135

2

단위테스트와 통합테스트의 경계가 궁금합니다.

0

235

2

Service+Repository 통합테스트 관련 질문입니다.

0

151

2

OrderControllerDocsTest 작성 해봤는데요. 날짜 형식이 이상하게 나와요

0

186

2

test 용 .yml

0

91

2

throws Exception

0

81

2

카페키오스크 클래스 문의 ,,

0

90

2

Rest docs 문서용 테스트코드를 따로 작성해야 되나요?

0

176

2

테스트 코드에서 필요한 생성자

0

139

1

tearDown 순서

0

116

2

@Builder 생성자 private

0

137

2

@DisplayName gradle / intellJ

0

94

2