--- id: wiki-2026-0508-mockito title: Mockito category: 10_Wiki/Topics status: needs_review canonical_id: self aliases: [] duplicate_of: none source_trust_level: A confidence_score: 0.92 tags: [uncategorized] raw_sources: [] last_reinforced: 2026-05-08 github_commit: pending inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08) tech_stack: language: unspecified framework: unspecified --- # [[Mockito]] ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) MockitoλŠ” μ†Œν”„νŠΈμ›¨μ–΄ ν…ŒμŠ€νŠΈ μž‘μ„± μ‹œ μ˜μ‘΄μ„±μ„ λͺ¨μ˜(mocking)ν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ˜λŠ” 도ꡬ 및 λΌμ΄λΈŒλŸ¬λ¦¬μž…λ‹ˆλ‹€ [1]. ν…ŒμŠ€νŠΈ ν™˜κ²½μ—μ„œ μ‹€μ œ 클래슀λ₯Ό μŠ€ν…(stub)μ΄λ‚˜ λͺ¨μ˜ 객체(mock)둜 κ΅μ²΄ν•˜μ—¬ ν…ŒμŠ€νŠΈλ₯Ό λ‹¨μˆœν•˜κ³  예츑 κ°€λŠ₯ν•˜κ²Œ λ§Œλ“­λ‹ˆλ‹€ [2, 3]. 이λ₯Ό 톡해 κ°œλ°œμžλŠ” 미리 μ •μ˜λœ μƒνƒœμ— λŒ€ν•œ 응닡과 ν…ŒμŠ€νŠΈ 데이터λ₯Ό μ‰½κ²Œ μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [2, 3]. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) * **μ˜μ‘΄μ„± λŒ€μ²΄ 및 μŠ€ν…(Stubbing) ν™œμš©**: λ‹¨μœ„ ν…ŒμŠ€νŠΈ(Unit Test)λ₯Ό μž‘μ„±ν•  λ•Œ Mockitoλ₯Ό μ‚¬μš©ν•˜λ©΄ μ‹€μ œ μš΄μ˜μ— μ‚¬μš©λ˜λŠ” 클래슀(예: `PersonRepository`)λ₯Ό ν…ŒμŠ€νŠΈμš© μŠ€ν…μœΌλ‘œ λŒ€μ²΄ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [2]. * **응닡 μ œμ–΄μ™€ ν…ŒμŠ€νŠΈ λ‹¨μˆœν™”**: κ°œλ°œμžλŠ” μŠ€ν… 처리된 λ©”μ„œλ“œκ°€ ν…ŒμŠ€νŠΈ 쀑에 λ°˜ν™˜ν•΄μ•Ό ν•  '미리 μ€€λΉ„λœ 응닡(canned responses)'을 Mockitoλ₯Ό 톡해 μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [2]. μ΄λŸ¬ν•œ 방식은 ν…ŒμŠ€νŠΈ 데이터 섀정을 μš©μ΄ν•˜κ²Œ ν•˜λ©°, ν…ŒμŠ€νŠΈλ₯Ό λ”μš± λ‹¨μˆœν•˜κ³  예츑 κ°€λŠ₯ν•˜κ²Œ λ§Œλ“€μ–΄ μ€λ‹ˆλ‹€ [2]. * **계약 ν…ŒμŠ€νŠΈ(Contract Test)μ—μ„œμ˜ ν™œμš©**: 제곡자 ν…ŒμŠ€νŠΈ(Provider Test)λ₯Ό κ΅¬ν˜„ν•  λ•Œ, 사전에 μ •μ˜λœ μƒνƒœ(pre-defined states)에 맞게 ν…ŒμŠ€νŠΈ 데이터λ₯Ό μ œκ³΅ν•˜λŠ” 방식을 μ •μ˜ν•˜λŠ” 데에도 Mockito의 λͺ¨μ˜ 객체(mocks)κ°€ ν™œμš©λ©λ‹ˆλ‹€ [3]. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & Updates) μ†ŒμŠ€μ— κ΄€λ ¨ 정보가 λΆ€μ‘±ν•©λ‹ˆλ‹€. (Mockito 도ꡬ 자체λ₯Ό μ„ νƒν•˜κ±°λ‚˜ μ΅œμ ν™”ν•  λ•Œ λ°œμƒν•˜λŠ” ꡬ체적인 λΆ€μž‘μš©μ΄λ‚˜ μ œμ•½ 사항은 제곡된 μ†ŒμŠ€ 데이터에 ν¬ν•¨λ˜μ–΄ μžˆμ§€ μ•ŠμŠ΅λ‹ˆλ‹€.) --- *Last updated: 2026-05-03* ## πŸ€– LLM ν™œμš© 힌트 (How to Use This Knowledge) **μ–Έμ œ 이 지식을 μ“°λŠ”κ°€:** - *(TODO)* **μ–Έμ œ μ“°λ©΄ μ•ˆ λ˜λŠ”κ°€:** - *(TODO)* ## πŸ§ͺ 검증 μƒνƒœ (Validation) - **정보 μƒνƒœ:** needs_review - **좜처 신뒰도:** A - **κ²€ν†  이유:** *(P-Reinforce Phase 1 μžλ™ μ •κ·œν™”. λ³Έλ¬Έ 검증 ν•„μš”.)* ## 🧬 쀑볡 검사 (Duplicate Check) - **κΈ°μ‘΄ μœ μ‚¬ λ¬Έμ„œ:** *(TODO: μΈλ±μ„œ ν΄λŸ¬μŠ€ν„° 리포트 μ°Έμ‘°)* - **처리 방식:** UPDATE (μžλ™ μ •κ·œν™”) - **처리 이유:** Phase 1 μ •κ·œν™” β€” μ˜› ν…œν”Œλ¦Ώ/λˆ„λ½ ν•„λ“œ 보강. ## πŸ”— 지식 μ—°κ²° (Graph) - **Parent:** [[10_Wiki/Topics]] - **Related:** *(TODO: μ΅œμ†Œ 2개)* - **Opposite / Trade-off:** *(TODO)* - **Raw Source:** 직접 μž…λ ₯ ## πŸ•“ λ³€κ²½ 이λ ₯ (Changelog) | λ‚ μ§œ | λ³€κ²½ λ‚΄μš© | 처리 방식 | 신뒰도 | |------|-----------|-----------|--------| | 2026-05-08 | P-Reinforce Phase 1 μ •κ·œν™” (frontmatter + 헀더 ν‘œμ€€ν™”) | UPDATE | A | ## πŸ’» μ½”λ“œ νŒ¨ν„΄ (Code Patterns) **νŒ¨ν„΄ 1:** *(TODO: 이 ν”„λ‘œμ νŠΈ μ»¨λ²€μ…˜ λ°˜μ˜ν•œ ꡬ쑰 μŠ€μΌˆλ ˆν†€)* ```text # TODO ``` ## πŸ€” μ˜μ‚¬κ²°μ • κΈ°μ€€ (Decision Criteria) **선택 Aλ₯Ό 써야 ν•  λ•Œ:** - *(TODO)* **선택 Bλ₯Ό 써야 ν•  λ•Œ:** - *(TODO)* **κΈ°λ³Έκ°’:** > *(TODO)* ## ❌ μ•ˆν‹°νŒ¨ν„΄ (Anti-Patterns) - **[μ•ˆν‹°νŒ¨ν„΄]:** *(TODO: 무엇을 ν•˜λ©΄ μ•ˆ λ˜λŠ”κ°€ + 이유 + λŒ€μ‹  무엇을)*