насмешливый store.getState () - PullRequest
1 голос
/ 31 мая 2019

Я хочу заявить, что когда функция получает значение моего избыточного состояния, используя store.getState(), она выполняет различные действия в зависимости от условий этого состояния.Как я могу утверждать / смоделировать то, что я хочу, чтобы значение состояния было для определенных тестов, используя метод store.getState()?Спасибо.

sampleFunction.js:

import { store } from './reduxStore';

const sampleFunction = () => {
  const state = store.getState();
  let result = false;
  if (state.foo.isGood) {
    result = true;
  }

  return result;
};

export default sampleFunction;

sampleFunction.test.js:

import sampleFunction from './sampleFunction.js';

test('sampleFunction returns true', () => {
  // assert that state.foo.isGood = true
  expect(sampleFunction()).toBeTruthy();
});

1 Ответ

2 голосов
/ 31 мая 2019

Что вы можете сделать, чтобы издеваться над вашим магазином

import { store } from './reduxStore';
import sampleFunction from './sampleFunction.js';

jest.mock('./reduxStore')

const mockState = {
  foo: { isGood: true }
}

// in this point store.getState is going to be mocked
store.getState = () => mockState

test('sampleFunction returns true', () => {
  // assert that state.foo.isGood = true
  expect(sampleFunction()).toBeTruthy();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...