Repository navigation
Conversation
Suite 표시 이름을 한국어 기능 단위로 바꾸고, 테스트 함수 이름을 3인칭 동사로 시작하게 바꿨다. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Suite 표시 이름을 한국어 기능 단위로 바꾸고, 테스트 함수 이름을 3인칭 동사로 시작하게 바꿨다. 표시 이름의 코드 식별자(markAsLiked · unmarkAsLiked · notFound · forbidden)를 동작을 설명하는 말로 바꿨다. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Suite 표시 이름을 한국어 기능 단위로 바꾸고, 테스트 함수 이름을 3인칭 동사로 시작하게 바꿨다. 표시 이름의 코드 식별자(setPeriod)를 동작을 설명하는 말로 바꿨다. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
test-spec 규칙: 적용 모듈(AuthDomain · CollectionDomain · NovelReviewDomain)의 Tests만 검사한다. 구조(S1 ~ S5)는 error, 프록시(단언 · 함수 이름 · 모호어 · 코드 식별자)는 warning. 미적용 모듈은 보고하지 않는다. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
필수 체크가 All Tests Passed 하나라 needs에 없던 arch-lint 실패가 머지를 막지 못했다. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
TESTING.md에 ArchLint test-spec 검사 절을 두고, 모범 예시를 규칙에 맞게 고쳤다. XcodeBuildMCP 리포터가 표시 이름 중간의 '.'에서 이름을 쪼개는 것을 주의사항에 남겼다. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Architecture Rules · Swift Format을 따로 필수 체크로 건다는 설명이 실제 설정과 달랐다. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- 중복 표시 이름 키를 타입 전체 경로로 바꿔 다른 Suite에 중첩된 동명 타입끼리 겹치지 않게 함 - 문장 끝 판정이 "다(보충)."·중첩 괄호도 받도록 마침표 → 짝 맞춘 괄호 → 마침표 순으로 뗌 - 같은 파일에서 @suite 없는 타입을 extension으로 테스트하면 S1으로 잡음 - Linter 주석·README에 실제 동작(미적용 모듈 미보고, S1·S5 파일 단위 범위) 반영 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- TESTING.md 함수명 형식·UseCase 예시를 @suite 안 "…다" 문장으로 고치고 S5 범위를 같은 파일로 명시 - Domain CLAUDE.md 빠른 요약을 새 형식과 현재 CI 동작(.tests 선언 모듈 자동 실행)에 맞춤 - test.yml 상단 주석의 필수 체크를 All Tests Passed 단일 게이트로 정정 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- TODO.md 2절: Swift Format 결과는 이미 All Tests Passed가 판정하므로 --strict만 붙이면 된다고 정정 - ArchLint README ⑮: 배타적 #if 분기를 구분하지 않는 S1·S5 한계를 명시 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
테스트 커버리지 리포트
Generated by CI on 2026-10-11 13:42 KST |
Collaborator
Author
|
설계를 다시 잡아 새 이슈에서 처음부터 진행하기로 해 폐기합니다. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
💡 Issue
💭 Summary
테스트가 "읽히는 기능 명세"가 되도록, 지금까지 문서 규약(
docs/TESTING.md)으로만 있던 형식을 ArchLint 규칙으로 강제해요.같이 고친 것도 있어요. 실제 필수 체크는
All Tests Passed하나뿐인데 ArchLint 결과가 거기에 연결돼 있지 않아서, 지금까지는 ArchLint가 실패해도 머지가 막히지 않았어요. 이번에 연결했어요.🔑 Key Changes
1. ArchLint 규칙⑮
test-spec추가test-suite-required@Test는@Suite타입 안에 둔다test-suite-name@Suite("한국어 이름")+ 타입 이름…Teststest-name-sentence@Test("…다")보간 없는 한국어 문장(끝 괄호 보충·마침표 허용)test-name-slash/금지(XcodeBuildMCP가 스위트 구분자로 읽음)test-name-duplicatetest-assertion#expect/#require가 있다test-func-verbrejects…·returns…)test-name-vaguetest-name-identifierLinter.swift의TestSpecRule(enforcedModules:)에 든 모듈만 검사하고, 나머지 모듈은 아예 보고하지 않아요.TestSpecRuleTests.swift).2. 파일럿 3개 모듈 정리: NovelReviewDomain · CollectionDomain · AuthDomain
@Suite21개에 한국어 기능 단위 이름을 붙였어요(예:리뷰 저장,컬렉션 좋아요,회원 탈퇴).markAsLiked·unmarkAsLiked·setPeriod등)는 동작으로 풀어 썼어요.3.
All Tests Passed게이트가 ArchLint·swift-format 결과도 판정needs에arch-lint·format-lint를 넣었어요.arch-lint는 success여야 통과해요. 실패·취소·스킵이면 막아요.format-lint는 아직 report-only라 job 자체가 깨질 때만 막아요.4. 문서
docs/TESTING.md: 「기계 검사 — ArchLinttest-spec」 절을 추가하고, 예시를 새 규칙에 맞게 고쳤어요. XcodeBuildMCP가 표시 이름 중간의.에서도 이름을 쪼갠다는 함정도 적었어요.Tooling/ArchLint/README.md: 규칙⑮ 행을 추가하고, CI 절을 gate 판정 기준으로 바꿨어요.docs/WORKFLOW.md·Tooling/SwiftFormat/README.md·docs/TODO.md·test.yml주석: "Architecture Rules도 필수 체크"라는 사실과 다른 서술을 단일 게이트 기준으로 정정했어요.Projects/Domain/CLAUDE.md: 빠른 요약을 새 형식에 맞췄어요.📱 Simulation
해당 없음(테스트·툴링·CI 변경)
🧑🧒🧒 To Reviewer
바뀐 표시 이름을 읽어 주세요
@Test("…")줄만 훑어보면 돼요.검사는 형식만 봐요
알려진 한계(수용)
@Test의 S1과 파일을 넘는 S5 중복은 보지 못해요. 같은 파일 안은 잡아요.#if분기에 같은 이름의 타입·테스트를 두면 S1·S5 오탐이 나요. 현재 0건이라 README에 한계로만 적었어요.머지 전 확인할 것
All Tests Passed가 실패하는지 확인한 뒤 되돌릴 예정이에요(이슈 완료 기준).후속 이슈 예정
~DomainTesting으로 옮기기(+ Mock Sendable 경고)@Test와 대조하기, PR 본문으로 명세 추출하기리뷰 수렴
#if분기 한계예요.※ Reference
docs/TESTING.md「기계 검사 — ArchLinttest-spec」Tooling/ArchLint/README.md규칙⑮🤖 Generated with Claude Code