Тестирование функций импорта Redux Store - PullRequest
0 голосов
/ 15 января 2020

Я пытаюсь протестировать некоторые функции, которые имеют доступ к магазину, который я импортирую в файл с помощью простого import store from '../../store';

ie:

import store from './store';

function getName() {
    const { name } = store.getState().user;
    return name;
}

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

Это прекрасно работает в основном приложении, но при тестировании с Jest это не так. Он просто игнорирует поддельный Магазин.

Очевидно, я предполагаю, что это только потому, что я прямо указываю на Магазин на root самого приложения, но тогда каков будет правильный способ сделать это? так? Мне бы не хотелось отправлять кучу последовательных функций, чтобы потом добраться до штата, как в следующем примере:

const first = () => {
  return (dispatch) => {
  {...}
  dispatch(second());
  {...}
}};

const second = () => {
  return (dispatch) => {
  {...}
  dispatch(third());
  {...}
}};

const third = () => {
  return (dispatch, getState) => {
  const { whatever } = getState().user;
  {...}
}};

Спасибо, ребята. Я надеюсь, что все это имеет смысл!

...