Встречается на собеседованиях • сегодня
Как тестировать Redux
Для тестирования Redux нужно проверять три основные части: редьюсеры, экшены и селекторы.
Редьюсеры - тестируем чистые функции:
javascript
test('should handle ADD_TODO', () => {
const initialState = { todos: [] }
const action = { type: 'ADD_TODO', payload: 'Learn Redux' }
const nextState = todosReducer(initialState, action)
expect(nextState.todos).toEqual(['Learn Redux'])
})Экшены - проверяем корректность создания:
javascript
test('should create an action to add todo', () => {
const text = 'Finish docs'
const expectedAction = {
type: 'ADD_TODO',
payload: text
}
expect(addTodo(text)).toEqual(expectedAction)
})Селекторы - тестируем вычисляемые данные:
javascript
test('should select active todos', () => {
const state = { todos: [{id:1, text:'Test', completed: false}] }
const result = selectActiveTodos(state)
expect(result.length).toBe(1)
})Для интеграционных тестов используйте redux-mock-store для проверки последовательности экшенов. Для асинхронных экшенов (thunk/saga) мокайте API вызовы.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы