#reactjs #dom #jestjs #react-testing-library
Вопрос:
При тестировании формы я использую UserEvent для ввода «привет» в текстовое поле, а затем при тестировании значения указанного текстового поля сразу после этого, используя toHaveValue (), он возвращает строку в обратном направлении…
render(<Form />)
userEvent.clear(screen.getAllByRole('textbox')[0])
userEvent.type(screen.getAllByRole('textbox')[0], 'hello')
expect(screen.getAllByRole('textbox')[0]).toHaveValue('hello')
Ошибка в консоли после запуска теста пряжи:
Версии пакетов:
"react-scripts": "^3.4.3",
"@testing-library/jest-dom": "^5.14.1",
"@testing-library/react": "^12.0.0",
"@testing-library/user-event": "^13.1.9",
Комментарии:
1. Можете ли вы предоставить кодовое поле для воспроизведения этого?
2. Для этого существует известная проблема: github.com/testing-library/user-event/issues/369 Но это уже должно было быть решено в 12.0.4.
3. У меня такая же проблема при работе над проектом SharePoint Framework. Я думаю, что есть какой -то конфликт зависимостей, который вызывает это. Но это довольно трудно точно определить :/
4. Не могу воспроизвести это в другом месте, но я собираюсь предположить, что это проблема с CRA и ее зависимостью от jest. Довольно неприятно -.-
Ответ №1:
Я испытал то же самое, и ранее я был на jest ^24.8.0, и после обновления до последней версии (jest ^27.2.1) проблема была решена.