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 внутри файла, а не снаружи, и итоговый тест будет прост как три копейки.

© Habrahabr.ru