Trabajando en escribir una prueba unitaria para un componente grande. He escrito uno antes para un componente más pequeño, pero este tiene varios otros componentes personalizados anidados en su interior. Estoy tratando de seleccionarlo para poder averiguar qué hacer con él, pero ni siquiera puedo llegar a ese punto en este momento.
<Counter /> <MainComponentRange testID='range' /> <Counter />
it('should be able to change the ranfe', () =>{ //Mock out dependent function with jest //Nothing here right now... //Render with the props you want const { getByTestId } = render( <MainComponent />
);
//Locate screen components for test const range = getByTestId('range'); //Perform user actions fireEvent.changeText(range, "01/22/2022"); //Measure against expect cases expect(dateRange).toBe("1/22/2022"); });
Y este es el mensaje de error que estoy recibiendo:
● Main Component Test › should be able to change the range Unable to find an element with testID: dateRange 143 | 144 | //Locate screen components for test > 145 | const dateRange = getByTestId('range'); | ^ 146 | 147 |
Debe pasar el ID de prueba al componente como accesorios y luego agregarlo a la vista que está usando. Agregaré un ejemplo simple.
const App = () => { return <PriceOverrideDateRange testID="dateRange" /> }
const PriceOverrideDateRange = ({testID}) => { return <View testID="dateRange" ><Text>Hello</Text></View> }