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

314
Visualizações
Se excedió el tiempo de espera de la prueba de la unidad Mocha de 10000 ms Error al usar await Promise.all

Archivo: index.ts // Valor predeterminado basado en clase exportado

 getItemsA() { return Promise.resolve({ // Api Call in real scenario. Mocking here for now. success: true; result: [{ itemA: [] }] }); } getItemsB() { return Promise.resolve({ // Api Call in real scenario. Mocking here for now. success: true; result: [{ itemB: [] }] }); }

Archivo service.ts

 import { getItemsA, getItemsB } from 'index.ts'; getService() { return new Promise(async (resolve, reject) => { const parallelApis = await Promise.all([ // UT Stucks here. Not able to get the parallelApis response. getItemsA(), getItemsB() ]); .... other mapping resolve({ ....... }); }); }

Archivo prueba.ts

 import items from 'index.ts'; // Class based. Default exported import service from 'service.ts'; // Class based. Default exported import { expect } from "chai"; import * as sinon from "sinon"; describe.only("Service", () => { let itemAStub; let itemBStub; beforeEach(() => { itemAStub = sinon.stub(items, "getItemsA"); itemBStub = sinon.stub(items, "getItemsB"); itemAStub.callsFake(() => { return Promise.resolve({ body: myMock // Dummy }); }); itemBStub.callsFake(() => { return Promise.resolve({ body: someOtherMock // Dummy }); }); }); afterEach(() => { itemAStub.restore(); itemBStub.restore(); }); it("Should filter valid gift options", (done) => { service.getService().then(res => { console.log("RESPONSEEEEEE", res); expect(res).to.deep.equal(myMockResponse); done(); }) .catch(err => { console.log("Errorr"); done(err); }); }); });

¿Alguien puede ayudarme a identificar el problema cuando traté de ejecutar el caso de prueba? Recibo el siguiente error.

 Error: Timeout of 10000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.

Sé que extender el tiempo de espera no es una solución para solucionar el problema. Se crea el resguardo, pero no estoy seguro de por qué está recibiendo un error de tiempo de espera cuando el código llega a esperar a Promise.all. Si elimino done (), el caso de prueba tendrá éxito, pero la función no se ejecutará. Cualquier ayuda sería realmente apreciada.

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

0

Cuando ejecutamos Mocha desde la línea de comandos, leerá este archivo que tiene un tiempo de espera predeterminado.

Para cambiar este tiempo, puede restablecer usando:

 ./node_modules/.bin/mocha --timeout 20000
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