Тестирование реакции используйте mockstore с пользовательским хранилищем для его тестирования

#reactjs #testing #jestjs #enzyme

#reactjs #тестирование #jestjs #фермент

Вопрос:

Я хотел бы протестировать компоненты, которые используют redux store в моем проекте. Вот функция, которую я использую для получения некоторых элементов хранилища:

 const variable = store.getState().serverConfiguration.testValue;
 

Когда я тестирую этот компонент, я использую mockStore для этого, чтобы мой магазин был пуст, верно? Вот почему я получаю сообщение об ошибке, в котором говорится, что TypeError: Cannot read property 'testValue' of undefined

Есть ли способ передать мое пользовательское хранилище mockStore , чтобы его можно было правильно протестировать? Я пытался сделать это так, но это не работает:

 const store = configureMockStore()({
    serverConfiguration: {
       testValue: "Admin"
    }
});
 

Ответ №1:

Попробуйте это:

 import configureStore from "redux-mock-store"

const mockStore = configureStore([]);

const store = mockStore({
    serverConfiguration: {
        testValue: "Admin"
    }
})