بنقرة واحدة
csharp-test-develop
C#/.NET 테스트 코드 작성. 기존 코드에 대한 단위/통합 테스트를 xUnit, Moq, FluentAssertions 기반으로 생성. 서브에이전트에 위임.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
C#/.NET 테스트 코드 작성. 기존 코드에 대한 단위/통합 테스트를 xUnit, Moq, FluentAssertions 기반으로 생성. 서브에이전트에 위임.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
C# 12 / .NET 8 기준 코드 작성 가이드라인. 코드 작성 전/중에 참조하는 knowledge-base skill. Modern C# 기능과 베스트 프랙티스를 자동 주입.
TDD 기반 C#/.NET 개발. 테스트 먼저 작성 후 구현. Red-Green-Refactor 순서 강제. 서브에이전트에 위임.
C#/.NET 프로젝트를 Claude Code용으로 초기화. CLAUDE.md 생성 + 컨텍스트 hook 설치 (Bash/PowerShell). Use when setting up new C# projects for Claude Code, migrating existing projects, or updating context hooks.
WPF MVVM code generator. Creates ViewModel, View, and Model with CommunityToolkit.Mvvm source generators. Use when scaffolding new WPF features or entities following MVVM pattern.
| name | csharp-test-develop |
| description | C#/.NET 테스트 코드 작성. 기존 코드에 대한 단위/통합 테스트를 xUnit, Moq, FluentAssertions 기반으로 생성. 서브에이전트에 위임. |
| user-invocable | true |
| context | current |
| model | opus |
| argument-hint | <class-or-file-path> |
| allowed-tools | ["Read","Write","Edit","Bash(node *)","Bash(dotnet test *)","Glob","Grep","Task"] |
기존 C# 코드에 대한 테스트 코드를 작성하는 스킬. TDD 워크플로우 없이 구현된 코드를 분석하고 테스트를 생성합니다.
┌─────────────────────────────────────────────────────────────┐
│ csharp-test-develop (Orchestrator) │
│ ├── Phase 0: 환경 감지 ──── test-detector.js 재사용 │
│ ├── Phase 1: 분석 ───────── 대상 코드 → 테스트 시나리오 │
│ └── Phase 2: 검증 ───────── dotnet test 통과 확인 │
├─────────────────────────────────────────────────────────────┤
│ Sub-agent (Executor) │
│ └── 테스트 코드 작성 ────── references/csharp-test-patterns│
│ │
│ ※ csharp-best-practices 규칙 참조 가능 │
└─────────────────────────────────────────────────────────────┘
| 구분 | csharp-tdd-develop | csharp-test-develop |
|---|---|---|
| 목적 | 새 기능 TDD 개발 | 기존 코드에 테스트 추가 |
| 워크플로우 | Red-Green-Refactor | 분석 → 테스트 작성 → 검증 |
| 구현 코드 | 테스트 후 작성 | 이미 존재 |
| 시점 | 개발 시작 | 개발 후 / 레거시 코드 |
.csproj 파일에서 테스트 환경 자동 감지.
# csharp-tdd-develop의 test-detector.js 재사용
node skills/csharp-tdd-develop/scripts/test-detector.js --detect
미설치 시 필요한 패키지 안내 후 중단.
대상 코드를 읽고 테스트 시나리오를 도출합니다.
동작:
Output:
## 분석 결과
### 대상 클래스
- 이름: OrderService
- 경로: src/Services/OrderService.cs
- 의존성: IOrderRepository, IPaymentGateway, ILogger<OrderService>
### 테스트 시나리오
1. CreateOrderAsync — 유효한 주문 생성 성공
2. CreateOrderAsync — 재고 부족 시 예외 발생
3. CreateOrderAsync — 결제 실패 시 롤백
4. GetOrderByIdAsync — 존재하는 주문 반환
5. GetOrderByIdAsync — 존재하지 않는 주문 null 반환
6. CancelOrderAsync — 이미 취소된 주문 예외
### 테스트 파일
- 경로: tests/UnitTests/Services/OrderServiceTests.cs
Task tool로 위임:
Task({
subagent_type: "general-purpose",
prompt: `
기존 코드에 대한 단위 테스트를 작성하세요.
SOLID 원칙, GoF 디자인 패턴, Modern C# 12/13 기능을 적용하세요.
## 대상
- 클래스: OrderService
- 경로: src/Services/OrderService.cs
- 테스트 파일: tests/UnitTests/Services/OrderServiceTests.cs
## 테스트 시나리오
1. CreateOrderAsync — 유효한 주문 생성 성공
2. CreateOrderAsync — 재고 부족 시 예외 발생
...
## 테스트 패턴 (필수 적용)
- AAA Pattern (Arrange-Act-Assert)
- 네이밍: Method_Scenario_ExpectedBehavior
- Moq로 의존성 Mock
- FluentAssertions 사용 (설치된 경우)
- xUnit Theory/InlineData (매개변수화 테스트)
## 지침
1. references/csharp-test-patterns.md 패턴 적용
2. 테스트 실행하여 **통과 확인** (dotnet test)
3. 테스트 결과 리포트
`
})
ARGUMENTS: $ARGUMENTS
위 ARGUMENTS가 테스트를 작성할 대상 클래스/파일 설명입니다.
ARGUMENTS가 비어있으면 사용자에게 테스트 대상을 질문하세요.
호출 예시:
/csharp-test-develop src/Services/UserService.cs → 해당 파일 테스트 작성/csharp-test-develop OrderService → OrderService 클래스 찾아서 테스트 작성"OrderService에 대한 단위 테스트 작성해줘"
## Phase 0: 환경 확인
Runner: xUnit ✓ | FluentAssertions: YES ✓ | Moq: YES ✓
---
## Phase 1: 분석
- 클래스: OrderService
- public 메서드 3개
- 의존성 3개 (모두 인터페이스)
- 시나리오 6개 도출
---
## Phase 2: 테스트 작성
→ 서브에이전트 호출
← 테스트 파일 생성, 모든 테스트 통과 ✅
---
## 완료!
- tests/UnitTests/Services/OrderServiceTests.cs (6 tests)
경로 결정 기준: Repository/Database 접근 코드 → IntegrationTests, 나머지 → UnitTests
| 소스 위치 | 테스트 위치 |
|---|---|
src/Services/UserService.cs | tests/UnitTests/Services/UserServiceTests.cs |
src/ViewModels/MainViewModel.cs | tests/UnitTests/ViewModels/MainViewModelTests.cs |
src/Repositories/UserRepository.cs | tests/IntegrationTests/Repositories/UserRepositoryTests.cs |
| 상황 | 처리 |
|---|---|
| 테스트 러너 미설치 | 설치 명령어 출력 후 중단 |
| 대상 파일 미발견 | 사용자에게 경로 확인 요청 |
| 테스트 실패 | 최대 3회 수정 시도 후 사용자에게 도움 요청 |
csharp-test-develop (Orchestrator)
│
└── general-purpose sub-agent
│
└── 참조 가능 리소스:
├── csharp-best-practices/rules/ ← C# 12 규칙 (필요시 Read)
└── references/
└── csharp-test-patterns.md ← 테스트 패턴 (필요시 Read)
csharp-test-patterns.md: C# 테스트 패턴 가이드 (AAA, Moq, FluentAssertions 등)