From fa828f71a0a9193df6c9b737782735c37944a2dd Mon Sep 17 00:00:00 2001 From: Klaus Date: Sat, 30 May 2026 20:02:00 +0900 Subject: [PATCH] =?UTF-8?q?docs(test):=20Redis=20=ED=85=8C=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20=EA=B2=A9=EB=A6=AC=20=EA=B7=9C=EC=B9=99=EC=9D=84=20?= =?UTF-8?q?=EB=AC=B8=EC=84=9C=ED=99=94=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/agent-guides/작업절차.md | 1 + docs/agent-guides/테스트스타일.md | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/docs/agent-guides/작업절차.md b/docs/agent-guides/작업절차.md index 863d80b2..21ffdf19 100644 --- a/docs/agent-guides/작업절차.md +++ b/docs/agent-guides/작업절차.md @@ -13,6 +13,7 @@ - 변경 전: 같은 작업의 연속 후속 수정인지 먼저 확인하고, 연속 작업이면 새 PRD 또는 구현 계획/TASK 문서를 만들지 말고 기존 문서를 갱신한다. - 변경 중: 신규 기능, 버그 수정, 리팩터링, 동작 변경은 테스트 작성이 불가능한 작업이 아닌 한 실패하는 테스트를 먼저 작성하고 실패를 확인한 뒤 구현한다. - 변경 중: 범위가 변경되면 구현 전에 계획 문서 체크리스트를 먼저 업데이트한다. +- 변경 중: Todo를 사용할 때는 사용자에게 보이는 Todo 내용을 한국어로 작성한다. 경로, 클래스명, 명령어, 코드 식별자는 원문을 유지한다. - 변경 중: 공개 API 스키마를 임의 변경하지 말고, 작은 단위로 안전하게 수정한다. - 변경 중: 구현 완료 즉시 해당 task 체크박스를 `- [x]`로 갱신한다. - 변경 후: 최소 단일 테스트 또는 `./gradlew test`를 실행하고, 필요 시 `./gradlew ktlintCheck`를 수행한다. diff --git a/docs/agent-guides/테스트스타일.md b/docs/agent-guides/테스트스타일.md index d26d39ed..33059d1e 100644 --- a/docs/agent-guides/테스트스타일.md +++ b/docs/agent-guides/테스트스타일.md @@ -13,3 +13,8 @@ - 테스트 이름은 의도가 드러나는 영어 문장형(`should...`)을 유지한다. - 테스트는 DisplayName으로 한국어 설명을 추가한다. - 예외 상황이 있는지 확인하고 예외 상황에 대한 테스트 케이스를 추가한다. + +## Redis 테스트 격리 규칙 +- embedded Redis는 모든 테스트에 전역 등록하지 않는다. `src/test/resources/META-INF/spring.factories`로 `EmbeddedRedisInitializer`를 등록하면 Redis가 필요 없는 `@DataJpaTest`까지 Redis를 시작하므로 금지한다. +- Redis가 필요한 통합 테스트만 `@ContextConfiguration(initializers = [EmbeddedRedisInitializer::class])`로 명시적으로 opt-in 한다. +- Redis가 필요 없는 JPA/QueryDSL 슬라이스 테스트는 기존 관례처럼 `@DataJpaTest(properties = ["spring.cache.type=none"])`로 캐시를 끈다.