мокко - подожди минуту перед выполнением теста - PullRequest
0 голосов
/ 22 ноября 2018

У меня есть ситуация, когда тест должен подождать минуту, чтобы выполнить.Попробовал ниже код, но он не работает:

describe('/incidents/:incidentId/feedback', async function feedback() {
  it('creates and update', async function updateIncident() {
    // this works fine
  });

  // need to wait here for a minute before executing below test
  it('check incident has no feedback', function checkFeedback(done){
      setTimeout(function(){
        const result = send({
          user: 'Acme User',
          url: `/incidents/${createdIncident.id}/feedback`,
          method: 'get',
        });
        console.log(result);
        expect(result.response.statusCode).to.equal(200);
        expect(result.response.hasFeedback).to.equal(false);
        done();
      }, 1000*60*1);
  });
});

Здесь send() возвращает Promise.Я пробовал с async await, но это не сработало.

Как мне заставить тест ждать несколько минут перед выполнением?

1 Ответ

0 голосов
/ 22 ноября 2018

Если используются обещания, их предпочтительно не следует смешивать с обычными обратными вызовами.

const wait = ms => new Promise(resolve => setTimeout(resolve, ms));

...

  it('check incident has no feedback', async function checkFeedback(){
    this.timeout(1.33 * 60 * 1000);

    await wait(1 * 60 * 1000);
    const result = await send(...);
    ...
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...