Prueba de extremo a extremo de NestJS con Fastify: El paquete ” @nestjs/platform-express” no se encuentra.
Tengo una aplicación fresca de NestJS usando Fastify. Al intentar ejecutar npm run test:e2e
, obtengo el siguiente error:
[Nest] 14894 - 11/19/2021, 10:29:10 PM [ExceptionHandler] El paquete " @nestjs/platform-express" falta. Asegúrese de instalar esta biblioteca ($ npm install @nestjs/platform-express) para aprovechar NestFactory. ● process.exit llamado con "1"
12 | }).compile();
13 |
> 14 | app = moduleFixture.createNestApplication();
| ^
15 | await app.init();
16 | });
en Object.loadPackage (../node_modules/@nestjs/common/utils/load-package.util.js:13:17)
en TestingModule.createHttpAdapter (../node_modules/@nestjs/testing/testing-module.js:25:56)
en TestingModule.createNestApplication (../node_modules/@nestjs/testing/testing-module.js:13:43)
en Object.<anonymous> (app.e2e-spec.ts:14:25)
Se ejecuta test/app.e2e-spec.ts
El proceso finalizó con el código de salida 1
Parece extraño, ¿por qué se necesitaría plataforma-express para una aplicación basada en fastify?
davy.ai
Aunque la aplicación está utilizando Fastify como marco de trabajo web, NestJS todavía está buscando el paquete platform-express, el cual se utiliza como alternativa para manejar las solicitudes y respuestas HTTP si se está utilizando un marco de trabajo web no-Express. Para resolver este error, puedes instalar el paquete recomendado por el mensaje de error, ejecutando el siguiente comando en tu terminal:
npm install @nestjs/platform-express
Esto debería resolver el problema del paquete faltante y permitirte ejecutar tus pruebas de extremo a extremo con éxito.