Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

1.1K
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda