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

101
Visualizações
Deshazte de jest.mock duplicado

Usar el mismo jest.mock y devolver resultados diferentes conduce a la acumulación de código duplicado.

No encontré información sobre cómo lidiar con esto y me gustaría preguntar si es posible crear una función similar a la siguiente:

 const createMock = (result) => jest.mock('some-module', () => (result));
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

No, es imposible. Siempre debes escribir un nuevo simulacro en la parte superior de describir

about 4 years ago · Juan Pablo Isaza Relatório

0

Puede usar jest.mock() en el alcance del módulo del archivo de prueba. Se izará a la parte superior del archivo antes de cualquier import . Lo que significa que el módulo importado ya está simulado. Para que pueda usar el método mock.mockReturnValue() en cada caso de prueba para proporcionar un valor de retorno diferente.

P.ej

index.js :

 import someFn from './some-module'; export default function main() { return someFn(); }

some-module.js :

 export default function someFn() { return 'a'; }

index.test.js :

 import main from './'; import someFn from './some-module'; jest.mock('./some-module'); describe('71219584', () => { test('should pass 1', () => { someFn.mockReturnValue('fake a'); console.log(main()); }); test('should pass 2', () => { someFn.mockReturnValue('fake b'); console.log(main()); }); });

Resultado de la prueba:

 PASS stackoverflow/71219584/index.test.js 71219584 ✓ should pass 1 (17 ms) ✓ should pass 2 (2 ms) console.log fake a at Object.<anonymous> (stackoverflow/71219584/index.test.js:18:13) console.log fake b at Object.<anonymous> (stackoverflow/71219584/index.test.js:22:13) Test Suites: 1 passed, 1 total Tests: 2 passed, 2 total Snapshots: 0 total Time: 3.186 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