# Testing signals — nestjs/nest

> Canonical page: https://codevetter.com/unpack/nest/testing-signals

# Testing signals — nestjs/nest

Scanned commit 35142c3eca8edaaf6abc5984d915da2fbd458aa2 (2026-10-02). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

Tests and CI were inspected, not executed; no passing result or coverage percentage is established. Root Vitest configurations distinguish package unit tests from integration fixtures and explicitly preserve decorator behavior. Inspected tests cover injection, route tokenization, cross-origin decisions, HTTP responses, streaming, and mocked repository operations. Coverage exclusions, skipped tests, and integration exclusions limit what those configured checks can establish.
- The configured unit command is vitest run; its source configuration includes package specs, enables globals, aliases framework packages, and loads reflect-metadata. — [package.json#L35-38](https://github.com/nestjs/nest/blob/35142c3eca8edaaf6abc5984d915da2fbd458aa2/package.json#L35-L38) [vitest.config.mts#L47-64](https://github.com/nestjs/nest/blob/35142c3eca8edaaf6abc5984d915da2fbd458aa2/vitest.config.mts#L47-L64)
- Vitest uses a resolver plugin to prefer TypeScript over adjacent compiled .js files and explicitly enables legacy decorator metadata. — [vitest.config.mts#L5-28](https://github.com/nestjs/nest/blob/35142c3eca8edaaf6abc5984d915da2fbd458aa2/vitest.config.mts#L5-L28) [vitest.config.mts#L31-45](https://github.com/nestjs/nest/blob/35142c3eca8edaaf6abc5984d915da2fbd458aa2/vitest.config.mts#L31-L45)
- Integration Vitest selects integration specs, disables file parallelism, and gives tests and hooks 30-second timeouts. — [vitest.config.integration.mts#L47-50](https://github.com/nestjs/nest/blob/35142c3eca8edaaf6abc5984d915da2fbd458aa2/vitest.config.integration.mts#L47-L50) [vitest.config.integration.mts#L70-75](https://github.com/nestjs/nest/blob/35142c3eca8edaaf6abc5984d915da2fbd458aa2/vitest.config.integration.mts#L70-L75)
- Integration configuration excludes GraphQL code-first, inspector, and one REPL suite with comments describing module identity, fixture, and export-resolution problems. — [vitest.config.integration.mts#L51-59](https://github.com/nestjs/nest/blob/35142c3eca8edaaf6abc5984d915da2fbd458aa2/vitest.config.integration.mts#L51-L59)
- Inspected Injector tests construct decorated constructor and property dependencies; route-conflict tests assert literal, parameter, and wildcard token classification. — [packages/core/test/injector/injector.spec.ts#L20-34](https://github.com/nestjs/nest/blob/35142c3eca8edaaf6abc5984d915da2fbd458aa2/packages/core/test/injector/injector.spec.ts#L20-L34) [packages/core/test/router/route-conflict-detector.spec.ts#L30-65](https://github.com/nestjs/nest/blob/35142c3eca8edaaf6abc5984d915da2fbd458aa2/packages/core/test/router/route-conflict-detector.spec.ts#L30-L65)
- Cross-origin unit cases explicitly cover safe methods, method case sensitivity, same-origin fetch metadata, cross-site requests, and sibling-subdomain rejection. — [packages/core/test/security/cross-origin-protection.spec.ts#L27-88](https://github.com/nestjs/nest/blob/35142c3eca8edaaf6abc5984d915da2fbd458aa2/packages/core/test/security/cross-origin-protection.spec.ts#L27-L88)
- The hello-world integration suite uses Supertest to assert host routing, headers, async responses, and Observable responses, closing applications after tests. — [integration/hello-world/e2e/hello-world.spec.ts#L41-81](https://github.com/nestjs/nest/blob/35142c3eca8edaaf6abc5984d915da2fbd458aa2/integration/hello-world/e2e/hello-world.spec.ts#L41-L81)
- UsersService tests replace the repository token with vi.fn mocks; these assertions cover service delegation rather than a real MySQL connection. — [sample/05-sql-typeorm/src/users/users.service.spec.ts#L27-45](https://github.com/nestjs/nest/blob/35142c3eca8edaaf6abc5984d915da2fbd458aa2/sample/05-sql-typeorm/src/users/users.service.spec.ts#L27-L45) [sample/05-sql-typeorm/src/users/users.service.spec.ts#L52-88](https://github.com/nestjs/nest/blob/35142c3eca8edaaf6abc5984d915da2fbd458aa2/sample/05-sql-typeorm/src/users/users.service.spec.ts#L52-L88)
- Streaming integration assertions cover streams, buffers, RxJS, headers, and missing files; one client-cancellation test is explicitly skipped as flaky. — [integration/send-files/e2e/express.spec.ts#L31-82](https://github.com/nestjs/nest/blob/35142c3eca8edaaf6abc5984d915da2fbd458aa2/integration/send-files/e2e/express.spec.ts#L31-L82)
- Coverage uses V8 and excludes adapters, nest-* runtime files, and several discovery, middleware, and transport modules; root coverage scripts suppress failure status with || true. — [vitest.config.coverage.mts#L62-88](https://github.com/nestjs/nest/blob/35142c3eca8edaaf6abc5984d915da2fbd458aa2/vitest.config.coverage.mts#L62-L88) [package.json#L32-38](https://github.com/nestjs/nest/blob/35142c3eca8edaaf6abc5984d915da2fbd458aa2/package.json#L32-L38)
- Inspected CircleCI configuration runs a Node-version unit matrix and separate integration jobs; GitHub CodeQL config selects security-extended queries. — [.circleci/config.yml#L153-173](https://github.com/nestjs/nest/blob/35142c3eca8edaaf6abc5984d915da2fbd458aa2/.circleci/config.yml#L153-L173) [.circleci/config.yml#L124-133](https://github.com/nestjs/nest/blob/35142c3eca8edaaf6abc5984d915da2fbd458aa2/.circleci/config.yml#L124-L133) [.github/workflows/codeql-analysis.yml#L35-39](https://github.com/nestjs/nest/blob/35142c3eca8edaaf6abc5984d915da2fbd458aa2/.github/workflows/codeql-analysis.yml#L35-L39)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
