Я тестирую свой компонент приложения, и в первом тесте он запускается из дома, и мне нужно нажать на предварительный просмотр напитка, чтобы перейти к рецепту. Однако в следующем тесте, который должен выполнить те же действия, чтобы перейти к рецепту, я получаю сообщение об ошибке
Невозможно найти элемент по: [data-testid = "drink-preview "]
Я понял, что это потому, что кажется, что он уже начинается с рецепта, поэтому он не отображает домашнюю страницу, чтобы щелкнуть по предварительному просмотру напитка. Просто чтобы быть уверенным, что я скопировал точно такой же тест, который проходил из дома -> нажмите «напиток-предварительный просмотр» -> рецепт, и, конечно же, во второй раз у него такая же проблема. Журнал ошибок показывает, что он сразу отображает рецепт, а не домой, поэтому не может найти напиток, чтобы щелкнуть по нему.
test('should contain default texts in recipe -HOW TO MIX etc.', () => {
const { container, getAllByTestId, getByTestId } = renderWithRouterRedux(<App />)
fireEvent.click(getAllByTestId('drink-preview')[0])
expect(container).toHaveTextContent('HOW TO MIX')
expect(container).toHaveTextContent('Glass')
expect(container).toHaveTextContent('Method')
expect(container).toHaveTextContent('Garnish')
})
export const renderWithRouterRedux= (component, { initialState, store = createStore(reducer, initialState) } = {}) => {
const history = createMemoryHistory()
return {
...render(<Provider store={store}>
<Router history={history}>
{component}
</Router>
</Provider>),
store,
}
}
Почему возникает такое поведение?