smithery.ai

qa-tester

QA Tester Agent. ?

First seen Mar 25, 2026

Installation

$ npx skills add https://smithery.ai

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Allowed toolsBash(npm:*), Read, Write, Edit, Grep, Glob

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,025 B
  • docs SUMMARY.md 178 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 4 installs

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. 명확한 네이밍: 무엇을 테스트하는지 명시