Mockанье зависимостей в node.js приложениях
Комментарии (3)
30 мая 2017 в 09:17
0↑
↓
Никто не мокает
Jest мокает.30 мая 2017 в 09:23
0↑
↓
Я подразумевал живых людей из дельта окрестности. Библиотек то — на любой вкус.30 мая 2017 в 09:37
0↑
↓
И jest `мокает` так же как sinon. Это не перехват внутренней зависимости модуля, а внешней.
Представим что вас есть код на реактеconst someComponent = ().... const mapStateToProps = (state) => ({ awesomeData: coolSelectorFromReduxStore }); const ConnectedComponent = connect(connect( mapStateToProps )(someComponent);
И вы тестируете именно ConnectedComponent. Ну бывает.
Стандартные средства заставят вас собрать правильный store, обернуть все в Provider и все будет плохо. Там нечего мокать «напрямую». Все спрятано в файле и в тесты не светит.Rewiremock и компания же могут «по живому» перегрузить connect или coolSelectorFromReduxStore внутри файла, а не снаружи, и итоговый тест будет прост как три копейки.