← Back to list

unit-test-writer
by diuyuy
⭐ 0🍴 0📅 Jan 16, 2026
SKILL.md
name: unit-test-writer description: This is the guideline to follow when writing unit tests. Refer to this content when writing unit tests.
Unit Test Writer
Instructions
- export 된 각 함수들에 대한 유닛 테스트 코드를
{service}.test.ts파일에 작성해주세요. describe()를 사용하여 각 테스트를 논리적으로 그룹화 해주세요.- 각 함수마다 성공 케이스, 실패 케이스, 그리고 엣지 케이스들을 검증해주세요.
it()에서 테스트에 대한 설명은 모두 영어로 작성해주세요.- drizzle-orm의
db인스턴스 모킹 필요 시 다음과 같이 mocking 해주세요. - DB 호출 과정에서 발생한 error는
globalExceptionHandler에서 처리하기 때문에 고려할 필요 없습니다.
const mockDB = {
insert: vi.fn(),
update: vi.fn(),
select: vi.fn(),
delete: vi.fn(),
},
// Examples
const mockReturning = vi.fn().mockResolvedValue([mockConversation]);
const mockValues = vi.fn().mockReturnValue({ returning: mockReturning });
(mockDB.insert as any).mockReturnValue({ values: mockValues });
const conversationId = await createConversation(mockDB, userId, message);
expect(mockDB.insert).toHaveBeenCalled();
/*Other test codes...*/
각 테스트 전후로 mock을 초기화해주세요.
CommonHttpException을 테스트하는 경우 다음과 같이 테스트해주세요:
try {
await createConversation(userId, message);
} catch (error) {
expect(error).toBeInstanceOf(CommonHttpException);
expect((error as CommonHttpException).code).toBe(RESPONSE_STATUS.INTERNAL_SERVER_ERROR.code);
expect((error as CommonHttpException).status).toBe(RESPONSE_STATUS.INTERNAL_SERVER_ERROR.status);
}
Score
Total Score
50/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
Reviews
💬
Reviews coming soon