name: NestJS Testing description: Unit and E2E testing strategies with Docker. metadata: labels: [nestjs, testing, jest, e2e] triggers: files: ['/*.spec.ts', 'test/'] keywords: [Test.createTestingModule, supertest, jest]
NestJS Testing Standards
Priority: P2 (MAINTENANCE)
Unit testing, integration testing, and E2E testing patterns for NestJS applications.
-
Unit Tests: Isolated logic (Services). Mock all dependencies (
jest.fn()). -
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
TRUNCATEinafterEachto 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();
chat Comments (0)
Sign in to join the discussion and leave a comment.
Skill Details
GitHub Stars
143
GitHub Forks
48
Created
Jan 2026
Last Updated
8 months ago
tools
tools architecture patterns
Related Skills
Build your own?
Join 12,000+ developers contributing to the Claude ecosystem.
No comments yet. Be the first to share your thoughts!