inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1

코드 다듬기

테스트 관련 질문!

4

kim1234123

작성한 질문수 54

0

각 클래스 별 테스트시에는 성공이 뜨는데, 전체 테스트 실행시 안됩니다

image.png

.ㅠㅠ

java spring spring-boot jpa 리팩터링 ddd

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. kim1234123님!

🎉 클래스별 테스트 실행 시 성공하지만, 전체 테스트 실행 시 실패할 때는 테스트 컨텍스트의 독립성과 데이터 상태 관리 문제를 고려해야 합니다. 다음은 이 문제를 해결하기 위한 몇 가지 팁입니다:

  1. 테스트 데이터 초기화:

    • 각 테스트 케이스는 독립적으로 실행되어야 하기 때문에, 테스트 시작 전 초기 상태를 보장해야 합니다. 데이터베이스 데이터를 항상 초기 상태로 되돌려야 하며, @Transactional을 사용해 테스트 시작 전 데이터를 롤백할 수 있도록 설정할 수 있습니다.
  2. 테스트 컨텍스트 공유 문제:

    • 테스트 환경에서 동일한 애플리케이션 컨텍스트를 공유할 수 있습니다. 테스트 간에 간섭이 없도록 애노테이션이나 설정을 통해 독립적인 컨텍스트를 사용할 수 있습니다.
    • @DirtiesContext 을 사용해서 테스트 후 컨텍스트를 롤백하도록 설정하거나, 독립된 컨텍스트를 사용할 수도 있습니다.
  3. 의존성 설정 확인:

    • 각 테스트 클래스가 필요한 모든 의존성을 정확하게 주입받아야 하며, 의존성이 전역으로 설정되어 있으면 문제가 발생할 수 있습니다. @MockBean을 통해 의존성을 모킹하여 사용할 수 있습니다.
  4. 테스트 실행 순서:

    • JUnit에서 @FixMethodOrder를 사용하여 테스트 실행 순서를 고정할 수 있지만, 이는 권장되지 않으며 테스트가 독립적이지 않다면 실패할 가능성이 있습니다.

아래 유사한 질문과 답변도 함께 참고해보세요:
- “자동 구성 정보 분리가 안됩니다.” - 클래스 로더를 통한 구성 정보 로딩 문제 해결 경험을 공유하고 있는 게시물입니다.
- “HelloRepositoryTest의 오류…” - 이 게시물에서는 테스트에서의 빈 주입 문제와 관련된 해결책을 다루고 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

N+1 관련해서 질문있습니다.

0

50

3

도메인 모델에서 관계와 규칙을 구분하는 방법

0

64

2

헥사고날 아키텍처에서의 배치, 시큐리티, 비동기 이벤트 처리는 어떻게 하나요?

0

143

2

어댑터에서 도메인에 직접 의존하는 경우에 대해

0

140

2

Member 도메인이 PasswordEncoder를 받는 구조 질문 있습니다.

0

121

2

MemberService와 EmailSender 책임 분리에 대한 질문

0

113

2

NonNullApi를 NullMarked로 대체하라고 합니다.

0

139

2

39. 문서와 코드 다듬기 updateInfo 테스트 질문 있습니다.

0

83

2

Repository Adapter 설계에 대해 피드백을 부탁드립니다

0

113

2

헥사고날 part2 강의 출시 예정일 문의 드립니다.

0

264

2

PT 문의사항

0

108

1

초기 어플리케이션 구동 시 compose.yml 파싱 오류

0

156

2

애플리케이션의 JPA 리턴과 도메인 모델

0

133

2

애그리거트 루트의 하위 도메인들의 depth가 깊어질 때 문의

0

143

2

페이징 처리를 해야한다면 어떻게 해야할까요?

0

202

2

애그리거트의 repository

0

128

2

Domain Expert가 정확히 어떤 역할을 하는 사람인가요?

0

245

1

회원 애플리케이션 서비스 테스트 (1)

0

111

2

정적 팩토리 메서드 관련 질문드립니다!

0

113

2

spotbug + @NonNullApi 로만 Null 방어가 될까요?

0

136

2

required 포트에 관해서

0

97

2

혹시 다음 편은 언제쯤 오픈할까요?

0

175

2

서비스 단위 테스트 코드 작성

0

105

2

domain 모듈에 entity를 정의한다고 했을때

0

107

2