Skip to main content

Overview

Express Zod API provides utilities for testing endpoints and middleware without starting a server.

testEndpoint()

Tests an endpoint by mocking request/response objects.

Parameters

Endpoint
required
The endpoint to test
RequestProps
Mock request properties
ResponseOptions
Mock response options
Partial<CommonConfig>
Override config for this test
LoggerOverrides
Custom logger for testing

Returns

MockResponse
Mocked response object with assertion methods:
  • _getStatusCode(): Get HTTP status code
  • _getJSONData(): Get parsed JSON response
  • _getHeaders(): Get response headers (lowercase)
  • _isJSON(): Check if response is JSON
  • _isEndCalled(): Check if response ended
  • _getRedirectUrl(): Get redirect location
MockLogger
Mocked logger with logs:
  • _getLogs(): Returns { debug: [], info: [], warn: [], error: [] }

Examples

Testing GET Endpoint

Testing POST Endpoint

Testing File Upload

testMiddleware()

Tests middleware in isolation.

Parameters

Middleware
required
The middleware to test
RequestProps
Mock request properties
ResponseOptions
Mock response options
Context
Context from previous middleware
Partial<CommonConfig>
Override config for this test
LoggerOverrides
Custom logger for testing

Returns

Context
Context object returned by middleware
MockResponse
Mocked response object
MockLogger
Mocked logger

Examples

Testing Auth Middleware

Testing Middleware Chain

Integration with Test Frameworks

Vitest

Jest

See Also

Testing Guide

Complete testing guide

Endpoint

Create endpoints

Middleware

Create middleware