Options for createTestContext.
request: Partial<IRequest>
Partial IRequest overrides (method, url, headers, etc.).
body: unknown
Body backing json()/text()/bytes() on the mock request.
runtime: IRuntimeServices
Runtime services — when absent, the internal default is used.
services: IServiceRegistry
Service registry — defaults to new MockServiceRegistry().
Typed as the IServiceRegistry interface (not the concrete
MockServiceRegistry) so a test may pass any implementation — a custom
fake, or a real kernel registry taken from a started app — matching
IRequestContext.services.
response: IResponse
Response builder — defaults to new MockResponse().
params: Record<string, string>
Path parameters — defaults to {}.
query: Record<string, string>
Query string parameters — defaults to parse from the request URL's search params.
state: Map<string, unknown>
Request-scoped state — defaults to new Map().
signal: AbortSignal
Abort signal for ctx.signal. Precedence is
options.request.signal > options.signal > a live, never-aborting
AbortController().signal — request.signal wins because that is the
kernel's own rule (request.signal ?? NEVER_ABORT_CONTROLLER.signal).
startTime: number
Direct startTime override — highest precedence:
options.startTime ?? options.runtime?.hrtime() ?? 0.
Must be a monotonic reading, never Date.now().