ожидать (...).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 не является функцией

1 ответ

Решение

Нативная разработка - это не DOM. Detox реализует собственный API ожидания, который направляется к собственной реализации соответствующей платформы, иtoHaveAttribute()не реализовано. В настоящее время у нас нет конкретных планов по поддержке этого, но мы рассмотрим это в будущем, когда будет завершена плановая перезапись части iOS.

Другие вопросы по тегам