expect(...).toHaveAttribute 不是一个函数,尽管它得到了适当的扩展

expect(...).toHaveAttribute is not a function despite properly extending it

我的测试设置使用 jestdetox (@e2e)

问题是,尽管似乎正确地导入了 @testing-lib/jest-dom,但我似乎无法使用我应该能够使用的 toHaveAttribute() 匹配器。


在我的 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 is not a function

原生开发不是DOM。 Detox 实现了它自己的期望 API,它被路由到适当平台的本机实现,而 toHaveAttribute() 没有实现。我们目前没有支持这一点的具体计划,但我们会在未来考虑,一旦 iOS 侧的计划重写完成。