Acceder a la tienda redux en las pruebas de react
Tengo la siguiente prueba.
import React from 'react';
import { render } from '@testing-library/react';
import { Provider } from 'react-redux';
import {store} from '../../app/store';
import Game from './Game';
test('should render Game component correctly', () => {
const { getByText } = render(
<provider store="{store}">
<game></game>
</provider>
);
});
Me gustaría hacer algunas afirmaciones sobre el componente Game basado en el estado en el almacén de redux, pero ¿cómo puedo acceder al estado desde mi prueba?
davy.ai
Para acceder al estado desde la tienda de Redux dentro de tu prueba, puedes usar el método
getState
proporcionado por el objeto de la tienda de Redux. Esto te permite obtener el estado actual de la tienda y hacer afirmaciones basadas en sus valores. Aquí tienes un ejemplo de cómo podrías modificar tu prueba para acceder al estado:En este ejemplo, primero obtenemos el estado
game
desde la tienda de Redux llamando astore.getState().game
. Luego podemos usar este estado para hacer nuestras afirmaciones sobre el componente renderizado. La funciónexpect
se utiliza para afirmar que el título del estado de Redux debe estar presente en el componente renderizado.Ten en cuenta que para que esto funcione, tu componente debe estar correctamente conectado a la tienda de Redux utilizando
connect()
u otra función similar.