Claude Skills
CollectionsCompareWorkflowsNominate
Sign inSign up
© 2026 Curated Agent Skills·Learn more about Agent Skills
Back to repository

allra-test-writing

verified

Allra 백엔드 테스트 작성 표준. Use when writing test code, choosing test helpers, generating test data with Fixture Monkey, or verifying test coverage.

View on GitHub

Marketplace

allra-ai-skills

Allra-Fintech/allra-ai-skills

Plugin

allra-backend-skills

Repository

Allra-Fintech/allra-ai-skills

backend-plugin/skills/test-writing/SKILL.md

Last Verified

February 1, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/Allra-Fintech/allra-ai-skills/blob/main/backend-plugin/skills/test-writing/SKILL.md -a claude-code --skill allra-test-writing

Installation paths:

Claude
.claude/skills/allra-test-writing/
Powered by add-skill CLI

Instructions

# Allra Test Writing Standards

Allra 백엔드 팀의 테스트 작성 표준을 정의합니다. 테스트 헬퍼 선택, Fixture Monkey 데이터 생성, Given-When-Then 패턴, AssertJ 검증을 포함합니다.

## 프로젝트 기본 정보

이 가이드는 다음 환경을 기준으로 작성되었습니다:

- **Java**: 17 이상
- **Spring Boot**: 3.2 이상
- **Testing Framework**: JUnit 5
- **Assertion Library**: AssertJ
- **Mocking**: Mockito
- **Test Data**: Fixture Monkey (선택 사항)
- **Container**: Testcontainers (선택 사항)

**참고**: 프로젝트별로 사용하는 라이브러리나 버전이 다를 수 있습니다. 프로젝트에 맞게 조정하여 사용하세요.

## 테스트 헬퍼 선택 가이드

**주의**: 아래 테스트 헬퍼는 Allra 표준 템플릿에서 제공됩니다. 프로젝트에 이러한 헬퍼가 없는 경우, Spring Boot 기본 테스트 어노테이션(`@SpringBootTest`, `@DataJpaTest`, `@WebMvcTest` 등)을 직접 사용하되, 이 가이드의 테스트 패턴과 원칙은 동일하게 적용합니다.

| 헬퍼 | 태그 | 용도 | 무게 | 언제? |
|------|------|------|------|-------|
| **IntegrationTest** | Integration | 여러 서비스 통합 | 🔴 무거움 | 전체 워크플로우 |
| **RdbTest** | RDB | Repository, QueryDSL | 🟡 중간 | 쿼리 검증 |
| **ControllerTest** | Controller | API 엔드포인트 | 🟢 가벼움 | REST API 검증 |
| **RedisTest** | Redis | Redis 캐싱 | 🟢 가벼움 | 캐시 검증 |
| **MockingUnitTest** | MockingUnit | Service 단위 | 🟢 매우 가벼움 | 비즈니스 로직 |
| **PojoUnitTest** | PojoUnit | 도메인 로직 | 🟢 매우 가벼움 | 순수 자바 |

### 선택 플로우

```
API 엔드포인트? → ControllerTest
여러 서비스 통합? → IntegrationTest
Repository/QueryDSL? → RdbTest
Redis 캐싱? → RedisTest
Service 로직 (Mock)? → MockingUnitTest
도메인 로직 (POJO)? → PojoUnitTest
```

---

## 🎯 Mock vs Integration 선택 기준 (중요!)

**원칙**: 기본은 MockingUnitTest, 꼭 필요할 때만 IntegrationTest

**목표**: IntegrationTest 비율 5% 이하 유지

### 의사결정 플로우차트

```
┌─────────────────────────────────┐
│ 무엇을 테스트하려고 하는가?    │
└────────────┬────────────────────┘
             │
    ┌────────▼────────┐
    │ 도메인 로직만?  │ ──Yes──> PojoUnitTest
    └────────┬────────┘
             │ No
    ┌────────▼─────────────────────┐
    │ Repository/QueryDSL 쿼리?   │ ──Yes──> RdbTest
    └────────┬─────────────────────┘
             │ No
    ┌────────▼─────────────────────┐
    │ API 엔드포인트 응답/검증?   │ ──Yes──> ControllerTest
    └────────┬─────────────────────┘
             │ No
    ┌────────▼───────────────

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
16286 chars

Issues Found:

  • name_directory_mismatch