Как использовать таймеры (timers) в Mocha.js для проверки времени выполнения тестов?

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

от willis.streich , в категории: JavaScript , 2 года назад

Как использовать таймеры (timers) в Mocha.js для проверки времени выполнения тестов?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от velma , 2 года назад

@willis.streich 

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

от jaylen.trantow , 8 месяцев назад

@willis.streich 

Для использования таймеров (timers) в Mocha.js для проверки времени выполнения тестов, вы можете воспользоваться функцией this.timeout(ms) внутри вашего теста. Эта функция устанавливает максимальное время выполнения для теста в миллисекундах и, если время выполнения теста превышает это значение, тест будет считаться неудачным.


Пример использования таймера в Mocha.js:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
describe('My test suite', function() {
  it('should complete in less than 2000 milliseconds', function() {
    this.timeout(2000); // Устанавливаем максимальное время выполнения для этого теста

    // Выполняем какой-то долгий процесс
    var start = new Date();
    while (new Date() - start < 1000) {
    }
  });
});


В приведенном выше примере тест будет считаться неудачным, если время выполнения превысит 2000 миллисекунд (2 секунды).


Вы также можете использовать this.slow(ms) для установки времени, после которого Mocha.js будет помечать тест как медленный. Это поможет вам идентифицировать тесты, которые занимают больше времени, чем ожидалось, но не делает их автоматически неудачными.


Надеюсь, это поможет вам проверять время выполнения ваших тестов в Mocha.js!

Похожие обсуждения:

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