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

179
Visualizações
El método de clase simulado solo devuelve indefinido

Estoy probando un componente de clase React que se basa en un servicio para recuperar la autenticación del usuario.

 async populateState() { const result = await authService.getUserAuthenticationStatus(); const { user, isAuthenticated } = result; this.setState({ isAuthenticated, user }); }

Entonces, me gustaría simular el valor de retorno de getUserAuthenticationStatus así:

 jest.mock('./components/api-authorization/AuthorizeService'); beforeAll(() => { jest.spyOn(AuthService, 'getUserAuthenticationStatus').mockReturnValue( Promise.resolve({ isAuthenticated: true, user: {} }) ); });

El problema aquí es que cuando ejecuto mis pruebas, el método sigue devolviendo undefined en lugar del valor simulado que configuré en mi prueba. Si echamos un vistazo rápido al miembro exportado, podemos ver que la clase se crea una instancia y luego se exporta. ¿Podría ser éste el problema?

 const authService = new AuthorizeService(); export default authService;
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Creo que jest.mock es innecesario aquí. Simplemente puede espiar el método ya que ya tiene una instancia.

 beforeAll(() => { jest.spyOn(authService, 'getUserAuthenticationStatus') // Returns promise no need to add manually .mockResolvedValue({ isAuthenticated: true, user: {} }); }); // And make sure you clear the mocks in the end. afterAll(() => jest.clearAllMocks());

Nota : está espiando el servicio de authService , no el Servicio de AuthService

about 4 years ago · Juan Pablo Isaza 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