2014-11-10 8 views
0

У меня есть приложение Node.js, которое я тестирую с помощью Mocha на быстрой (ish) dev машине. Я заметил, что иногда быстрый процессор маскирует некоторые ошибки. Если тесты выполняются на машине с более медленным процессором, эти ошибки начинают появляться.Быстрые ошибки проверки ошибок процессора

Вопрос: Есть ли простой способ временно замедлить работу или имитировать замедление в обработке ЦП для покрытия этих ошибок? Или способ запустить эти тесты на полной скорости и по-прежнему обнаружить этот тип ошибок?

+0

Каковы ошибки? – mscdex

ответ

1

Одна из возможных причин этих расхождений заключается в том, что некоторые функции могут занять больше времени в зависимости от того, на каком компьютере они работают, например, если они связаны с тяжелыми вычислениями или чтением из БД. Это может изменить порядок, в котором вызываются обратные вызовы.

Чтобы обойти эту проблему, вы можете получить больше контроля над порядком, в котором параллельные последовательности операций выполняются с использованием (например) Sinon.js в ваших тестах: он имеет отличные функции шпиона/заглушки, а также отправляет fake timers.

Путем издевательств (асинхронных функций), которые требуют времени для запуска, вы можете удалить коэффициент скорости (зависит от машины). Кроме того, поддельные таймеры позволяют получать контроль над функциями, обернутыми в setTimeout или setInterval

+0

Спасибо Aurelien. – Guy

 Смежные вопросы

  • Нет связанных вопросов^_^