Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

1.1K
Vistas
Auth0 Error angular durante la prueba unitaria: valor inesperado 'AuthModule' importado por el módulo 'DynamicTestModule'. Agregue una anotación @NgModule

Estamos en el proceso de migrar para usar Jest over Karma en nuestra aplicación Angular 12 y estamos recibiendo un error generalizado en nuestros archivos de especificaciones que usan Auth0:

Unexpected value 'AuthModule' imported by the module 'DynamicTestModule'. Please add an @NgModule annotation.

Parte extraña: nuestra prueba unitaria actual con Karma funciona a la perfección sin errores

Especificación de ejemplo:

 beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ imports: [ AuthModule.forRoot(mockAuth0Config), HttpClientTestingModule ], declarations: [ MyComponent ] }).compileComponents(); }));

La biblioteca de Auth0 me parece buena (no es un componente o servicio, de hecho es un "Módulo" que usa la interfaz ModuleWithProviders :

ingrese la descripción de la imagen aquí

Todos los demás problemas con los que me he encontrado son cuando los componentes o servicios se importan incorrectamente, lo que no es el caso aquí.

Además, AuthModule.forRoot({...}) se usa en las imports de nuestro app.module.ts muy bien y es la base para usar Auth0 con Angular, que funciona sin problemas en producción.

El error anterior solo ocurre cuando se ejecutan nuestras pruebas existentes en Jest.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

La solución a la que llegué fue omitir Auth0 por completo y crear un módulo Auth0 simulado que imita las mismas funciones y parámetros.

 @NgModule({ imports: [], exports: [] }) export class AuthModuleMock { /** * Mock forRoot method * @param config The optional configuration for the SDK. */ static forRoot(config ?: AuthConfig) : ModuleWithProviders<AuthModule> { return { ngModule: AuthModule, providers: [ AuthService, AuthGuard, { provide: AuthConfigService, useValue: config }, { provide : Auth0ClientService, useFactory: () : any => { return; }, deps : [ AuthClientConfig ] } ] }; } }

Estos son ellos importados en los archivos .spec en lugar del AuthModule proporcionado por Auth0

 beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ imports: [ AuthModuleMock.forRoot(mockAuth0Config), HttpClientTestingModule ], declarations: [ MyComponent ] }).compileComponents(); }));
over 4 years ago · Santiago Trujillo Denunciar

0

Use preset: jest-preset-angular en jest.config o vuelva a generar esas bibliotecas/módulos compartidos con la nueva configuración y mueva los códigos fuente antiguos a la nueva biblioteca generada.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda