1. repository 대신 service 단으로 데이터 넣기
통합 테스트는 애플리케이션의 흐름이 정상적인지 보기 위한 것으로, @BeforeEach나 given 단계에서 데이터를 넣을 때 service 계층의 메소드를 사용하는 것이 통합 테스트에 더 의미가 있는 행동같다.
2. fixture를 최대한 활용하기
처음엔 중복되지 않은 것에 대해 fixture를 만들 필요가 있나 싶었지만, fixture가 사용되는 부분은 주로 given이고, 테스트의 목적은 given이 아닌 when/then이므로 given쪽은 최대한 깔끔하게 유지하는 게 좋다고 생각했다. 따라서 한 메소드에서만 사용되어도 무조건 fixture로 만들어 메소드 코드가 더러워지지 않도록 유지하는게 좋은 거 같다.
3. 쓸 데 없이 given에 선언하지 않기
given 부분에 선언하는 부분이 중복적으로 사용되거나 then에서 사용되는 것이 아니면 굳이 given에 적을 필요가 있을까 싶다.
'Spring Boot > testing' 카테고리의 다른 글
비동기 테스트 주의 사항 (0) | 2025.02.01 |
---|---|
테스트 픽스처(Test Fixture) (0) | 2025.02.01 |
통합 테스트 @SpringBootTest vs @DataJpaTest (0) | 2025.02.01 |
@WebMvcTest - @EnableJpaAuditing 주의사항 (0) | 2024.12.04 |
RestController 단위 Testing (0) | 2024.11.13 |