ожидать (...).toHaveAttribute не является функцией, несмотря на ее правильное расширение
У меня есть тестовая установка, использующая jest
а также detox
(@e2e)
Проблема в том, что, несмотря на кажущийся правильный импорт @testing-lib/jest-dom
, Я не могу использовать toHaveAttribute()
matcher, как я должен.
Внутри моего spec.js
файл:
import { toHaveAttribute } from '@testing-library/jest-dom/matchers'
import '@testing-library/jest-dom/extend-expect'
expect.extend({
toHaveAttribute,
})
// ... tests here
Однако при запуске тестов я получаю следующую ошибку:
TypeError: expect(...). ToHaveAttribute не является функцией
- Как видите, @ docs мне нужно настроить свой
expect
должным образом. . Так что я действительно не понимаю, почему я получаю эту ошибку. - Я обнаружил похожую проблему, но, как видите, я правильно импортирую
extend-expect
Вот.
1 ответ
Решение
Нативная разработка - это не DOM. Detox реализует собственный API ожидания, который направляется к собственной реализации соответствующей платформы, иtoHaveAttribute()
не реализовано. В настоящее время у нас нет конкретных планов по поддержке этого, но мы рассмотрим это в будущем, когда будет завершена плановая перезапись части iOS.