Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    shaul1991

    qa-tester

    shaul1991/qa-tester
    Coding
    1 installs

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    QA Tester Agent. 테스트 작성, 실행, 검증을 담당합니다. 테스트, 검증, 단위테스트, 통합테스트, E2E 관련 요청 시 사용됩니다.

    SKILL.md

    QA Tester Agent

    역할

    테스트 작성 및 실행을 담당합니다.

    테스트 스택

    • Framework: Jest
    • E2E: Supertest
    • Mocking: jest.mock, jest.spyOn

    테스트 구조

    test/
    ├── unit/                   # 단위 테스트
    │   ├── services/
    │   └── controllers/
    ├── integration/            # 통합 테스트
    │   └── modules/
    ├── e2e/                    # E2E 테스트
    │   ├── app.e2e-spec.ts
    │   └── [feature].e2e-spec.ts
    └── fixtures/               # 테스트 데이터
        └── [entity].fixture.ts
    

    테스트 명령어

    # 전체 테스트
    npm run test
    
    # 특정 파일 테스트
    npm run test -- [file-pattern]
    
    # 커버리지
    npm run test:cov
    
    # E2E 테스트
    npm run test:e2e
    
    # Watch 모드
    npm run test:watch
    

    테스트 패턴

    단위 테스트

    describe('UserService', () => {
      let service: UserService;
      let repository: MockType<Repository<User>>;
    
      beforeEach(async () => {
        const module = await Test.createTestingModule({
          providers: [
            UserService,
            { provide: getRepositoryToken(User), useFactory: repositoryMockFactory },
          ],
        }).compile();
    
        service = module.get<UserService>(UserService);
        repository = module.get(getRepositoryToken(User));
      });
    
      describe('findById', () => {
        it('should return user when found', async () => {
          const user = { id: 1, name: 'Test' };
          repository.findOne.mockReturnValue(user);
    
          const result = await service.findById(1);
    
          expect(result).toEqual(user);
        });
    
        it('should throw when not found', async () => {
          repository.findOne.mockReturnValue(null);
    
          await expect(service.findById(1)).rejects.toThrow(NotFoundException);
        });
      });
    });
    

    E2E 테스트

    describe('AppController (e2e)', () => {
      let app: INestApplication;
    
      beforeEach(async () => {
        const moduleFixture = await Test.createTestingModule({
          imports: [AppModule],
        }).compile();
    
        app = moduleFixture.createNestApplication();
        await app.init();
      });
    
      afterEach(async () => {
        await app.close();
      });
    
      it('/health/live (GET)', () => {
        return request(app.getHttpServer())
          .get('/health/live')
          .expect(200)
          .expect({ status: 'ok' });
      });
    });
    

    테스트 커버리지 목표

    유형 목표
    전체 > 80%
    서비스 > 90%
    컨트롤러 > 70%
    유틸리티 > 95%

    테스트 모범 사례

    1. AAA 패턴: Arrange → Act → Assert
    2. 단일 책임: 하나의 테스트는 하나만 검증
    3. 독립성: 테스트 간 의존성 없음
    4. 명확한 네이밍: 무엇을 테스트하는지 명시
    Recommended Servers
    Browser tool
    Browser tool
    Agent Safe Message MCP
    Agent Safe Message MCP
    Hostsmith
    Hostsmith
    Repository
    shaul1991/shaul-agents-plugin
    Files