Как лучше всего настроить функциональность заглушки при тестировании приложений node.js?

Я новичок в Node.js и вообще новичок в тестировании фреймворков / методов в Javascript. Пока что я думаю о том, чтобы дать клятву попробовать.

В частности, я хотел бы иметь возможность заглушить / смоделировать мои источники данных. Я рассматриваю две ситуации:

  1. Заглушить весь модуль
  2. Заглушите только одну функцию, когда по какой-либо причине заглушение всего модуля не работает.

Какие-либо предложения или примеры для подхода, который вы нашли наиболее чистым и простым в использовании?

1 ответ

Лично мне нравится использовать Mocha + Chai + Sinon в качестве стека. Сначала это вызывает головную боль (особенно sinon..), но как только вы это сделаете, все будет так естественно.

Sinon - очень мощная библиотека, которая позволяет вам подделывать http-запросы или даже сервер. Вы получаете выбор между заглушками / шпионами / и издевательствами. О единственной вещи, которую я обнаружил, что это не делает, - это насмешка над событиями на основе...

На вашем месте я бы загрузил модули такими, какие они есть, и подсмотрел бы их поведение с помощью Sinon. Я знаю, что некоторые люди пытались загрузить целые фиктивные модули, но я лично считаю, что это слишком навязчиво для кода, который вы тестируете.

Другие вопросы по тегам