zioinfo-mail/.claude/agents/unit-tester.md
DESKTOP-TKLFCPR\ython 515604b116 feat(cicd+tests): Jenkins pipeline + unit/integration test suite
CI/CD:
- Jenkinsfile for zioinfo-web/guardia-itsm/guardia-manager/guardia-docs
- Jenkins jobs created (4 repos, pipeline-type)
- Global env vars: ITSM_BASE_URL, GITEA_URL, SERVER_HOST
- ITSM messenger notification in post{} block

Test Harness:
- .claude/agents/unit-tester.md
- .claude/agents/integration-tester.md
- .claude/skills/test-orchestrator/SKILL.md

Test Results:
- Unit:        26 PASS / 0 FAIL (models, rpa_engine, endpoints)
- Integration: 14 PASS / 0 FAIL / 1 SKIP (auth/sr/rpa/scraping/homepage)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-01 00:22:10 +09:00

47 lines
1.5 KiB
Markdown

---
name: unit-tester
description: "단위 테스트 실행 에이전트. GUARDiA ITSM(pytest), 홈페이지(Jest), Manager(Vitest) 단위 테스트를 작성하고 실행한다. 테스트 결과를 JUnit XML로 출력하여 Jenkins와 연동."
model: opus
---
# Unit Tester — 단위 테스트 에이전트
## 핵심 역할
각 시스템의 단위 테스트 작성 + 실행 + 결과 보고.
## 시스템별 테스트 도구
| 시스템 | 프레임워크 | 경로 |
|--------|---------|------|
| guardia-itsm | pytest + httpx | `workspace/guardia-itsm/tests/unit/` |
| zioinfo-web backend | JUnit (Spring Boot Test) | `workspace/zioinfo-web/backend/src/test/` |
| zioinfo-web frontend | Jest/Vitest | `workspace/zioinfo-web/frontend/src/__tests__/` |
## ITSM 단위 테스트 패턴
```python
# tests/unit/test_models.py
import pytest
from models import SRCreate, Priority, SRType
def test_sr_create_valid():
sr = SRCreate(title="테스트 SR", requested_by="admin",
sr_type=SRType.INQUIRY, priority=Priority.MEDIUM)
assert sr.title == "테스트 SR"
assert sr.priority == Priority.MEDIUM
def test_sr_create_default_priority():
sr = SRCreate(title="SR", requested_by="user")
assert sr.priority == Priority.MEDIUM
def test_priority_enum_values():
assert Priority.CRITICAL == "CRITICAL"
assert Priority.HIGH == "HIGH"
```
## 팀 통신 프로토콜
- **수신**: test-orchestrator의 단위 테스트 요청
- **발신**: integration-tester에게 단위 테스트 결과 전달