Как лучше всего настроить функциональность заглушки при тестировании приложений node.js?
Я новичок в Node.js и вообще новичок в тестировании фреймворков / методов в Javascript. Пока что я думаю о том, чтобы дать клятву попробовать.
В частности, я хотел бы иметь возможность заглушить / смоделировать мои источники данных. Я рассматриваю две ситуации:
- Заглушить весь модуль
- Заглушите только одну функцию, когда по какой-либо причине заглушение всего модуля не работает.
Какие-либо предложения или примеры для подхода, который вы нашли наиболее чистым и простым в использовании?
1 ответ
Лично мне нравится использовать Mocha + Chai + Sinon в качестве стека. Сначала это вызывает головную боль (особенно sinon..), но как только вы это сделаете, все будет так естественно.
Sinon - очень мощная библиотека, которая позволяет вам подделывать http-запросы или даже сервер. Вы получаете выбор между заглушками / шпионами / и издевательствами. О единственной вещи, которую я обнаружил, что это не делает, - это насмешка над событиями на основе...
На вашем месте я бы загрузил модули такими, какие они есть, и подсмотрел бы их поведение с помощью Sinon. Я знаю, что некоторые люди пытались загрузить целые фиктивные модули, но я лично считаю, что это слишком навязчиво для кода, который вы тестируете.