Jest Mockgoose Doc.save () не работает async / wait

"." обычно не соответствует разрыву строки. Большинство движков регулярных выражений позволяют вам добавить флагов S (также называемый DOTALL и SINGLELINE), чтобы "." также соответствовал символам новой строки. Если это не удается, вы можете сделать что-то вроде [\S\s].

0
задан CherryNerd 13 July 2018 в 19:23
поделиться

2 ответа

Я не использовал JEST в течение некоторого времени, но я думаю, что вам нужен «завершенный» обратный вызов для асинхронного кода.

Ваш код должен быть:

test("Should decrease the stock by a default of 1", async (done) => {
  try {
    localProduct.reduceStock();
    await localProduct.save();
    done();
  } catch (e) {
    console.log("error in saving localProduct", e);
  }
  expect(localProduct.stock.amount).toEqual(4);
});

Если это так не работает, попытайтесь вернуть документ.

await localProduct.save();

должен быть

return await localProduct.save();
0
ответ дан Faheem 17 August 2018 в 12:12
поделиться

Вы можете указать более высокий тайм-аут внутри теста, добавив:

jest.setTimeout(50000);
0
ответ дан tiagoperes 17 August 2018 в 12:12
поделиться
  • 1
    Я уже пробовал 20000 с теми же результатами – CherryNerd 13 July 2018 в 20:26
  • 2
    это будет специфично для теста, если оно применяется внутри теста ... – tiagoperes 13 July 2018 в 22:52
Другие вопросы по тегам:

Похожие вопросы: