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

140
Visualizações
Prueba de instancias en una función que depende de instancia de (JEST)

Tengo un problema al escribir una prueba de unidad para probar una función que tiene verificación de instancia. Lógica de negocios:

 let status = new B(); const testFunction = () => { if (status instanceof A) { console.log('inside A') } else if (status instanceof B) { console.log('inside B') } else { console.log('No matchers') }

}

Prueba de unidad:

 describe('test', ()=>{ it("should test b", ()=>{ let status = new A() expect(status).toBeInstanceOf(A) // passes expect(logSpy).toHaveBeenCalledWith('inside A') // fails and it expects 'inside B' }) })

Una razón por la que siento que la prueba está fallando es porque en el archivo original, el status devuelve una instancia de clase B, por lo que coincide con else if y not if . No estoy seguro de cómo probar este código sin cambiar status . ¿Hay alguna manera de que me lo esté perdiendo?

EDITAR: aquí se supone que testFunction() ya se invocó en las pruebas unitarias

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puede pasar el estado como parámetro de su función;

 const testFunction = (status) => { if (status instanceof A) { console.log('inside A') } else if (status instanceof B) { console.log('inside B') } else { console.log('No matchers') } }

Luego, se debe llamar a testFunction() con el estado que necesita probar;

 const status = new A(); testFunction(status);

El problema con su prueba es que la función que está probando tiene su propio alcance, la otra solución es simular la variable, pero podría confundirse más

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