Agent skill

NestJS Testing

Unit and E2E testing strategies with Docker.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/testing-hoangnguyen0403-agent-skills-standar-6

Metadata

Additional technical details for this skill

labels
nestjs testing jest e2e
triggers
{
    "files": [
        "**/*.spec.ts",
        "test/**"
    ],
    "keywords": [
        "Test.createTestingModule",
        "supertest",
        "jest"
    ]
}

SKILL.md

NestJS Testing Standards

Priority: P2 (MAINTENANCE)

Unit testing, integration testing, and E2E testing patterns for NestJS applications.

  1. Unit Tests: Isolated logic (Services). Mock all dependencies (jest.fn()).
  2. E2E Tests: Full lifecycle (test/app.e2e-spec.ts).
    • Rule: Use a real Test Database (Docker). Never mock the database in E2E.
    • Idempotency: Mandatory cleanup. Use a transaction rollback strategy or explicit TRUNCATE in afterEach to ensure tests don't leak state.

E2E Best Practices (Pro)

  • Overriding: Use .overrideProvider(AuthGuard).useValue({ canActivate: () => true }) to bypass security in functional flow tests.
  • Factories: Use Factory patterns (e.g. mockUserFactory()) to generate DTOs/Entities. Avoid hardcoded JSON literals.

Tools

  • Runner: Jest (swc/ts-jest).
  • Mocks: jest.fn(), jest.spyOn().

Setup Pattern

typescript
// Standard Setup
const module: TestingModule = await Test.createTestingModule({
  providers: [
    UsersService,
    { provide: getRepositoryToken(User), useValue: mockRepo },
  ],
}).compile();

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results