Как использовать таймауты (timeouts) в Mocha.js для обработки тестов, выполняющихся слишком долго?

Пользователь

от ludie , в категории: JavaScript , 9 месяцев назад

Как использовать таймауты (timeouts) в Mocha.js для обработки тестов, выполняющихся слишком долго?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от rebekah , 9 месяцев назад

@ludie 

Вы можете использовать таймауты в Mocha.js с помощью метода this.timeout() или через опцию командной строки --timeout.


Синтаксис для метода this.timeout() выглядит следующим образом:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
describe('Мой тест', function() {
  this.timeout(5000); // Установить таймаут в 5 секунд

  it('должен выполняться быстро', function(done) {
    // Ваши проверки здесь
    done();
  });

  it('может выполняться дольше', function(done) {
    setTimeout(function() {
      // Ваши проверки здесь
      done();
    }, 6000); // Делаем тест, который занимает больше 5 секунд
  });
});


Вы также можете установить таймаут через опцию командной строки --timeout:

1
mocha --timeout 5000


Это установит таймаут для всех тестов в 5 секунд.


Если тест не завершается в указанный таймаут, Mocha.js выдаст ошибку "timeout of ***xms exceeded" (превышен таймаут ***x мс). Вы можете изменить эту ошибку, добавив опцию командной строки --exit.


Например:

1
mocha --timeout 5000 --exit


Это завершит процесс тестов после первого превышения таймаута.