Maintenance in progress: we are indexing a large batch of new skills. Some pages may load slowly or briefly show no results. Nothing is lost, and everything is back to normal within the hour.

NestJS Testing

Unit and E2E testing strategies with Docker.

majiayu000 5ab2989 2 files · 2.0 KB Updated 567 repo stars

File contents

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

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

majiayu000/claude-skill-registry-data/tree/main/testing/testing-hoangnguyen0403-agent-skills-standar-8 commit 5ab2989e12

Frequently asked questions

npx skillmds add majiayu000/nestjs-testing-2