Однією з головних переваг Redux є те, що його надзвичайно легко тестувати. Оскільки більшість логіки (редюсери, селектори) — це чисті функції, для їх тестування навіть не потрібно запускати React.
Ми будемо використовувати стандартний стек:
Якщо ви використовуєте Vite, налаштування дуже просте.
npm install -D vitest jsdom @testing-library/react @testing-library/user-event
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
export default defineConfig({
plugins: [react()],
test: {
globals: true,
environment: 'jsdom',
setupFiles: './src/setupTests.js',
},
});
Ми дотримуємося піраміди тестування:
У наступних розділах ми пройдемося по кожному рівню.
Optimistic Updates
Оптимістичне оновлення — це стратегія, коли ми оновлюємо інтерфейс так, ніби запит на сервер вже пройшов успішно. Це створює відчуття миттєвої реакції.
Тестування Reducers
Тестування редюсерів — це найпростіша частина. Вам просто потрібно викликати функцію з певним станом і дією, і перевірити результат.