Javascript expect(…)。toHaveAttribute不是函数,尽管已正确扩展它

Javascript expect(…)。toHaveAttribute不是函数,尽管已正确扩展它,javascript,testing,jestjs,detox,jest-dom,Javascript,Testing,Jestjs,Detox,Jest Dom,我使用jest和detox(@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({ toHave

我使用
jest
detox
(@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不是函数

  • 作为。所以我真的很困惑,为什么我会出现这个错误
  • 我找到了一个, 但是正如您所看到的,我在这里正确地导入了
    扩展expect

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

      给出了这一点,你现在有没有希望用户检查复选框/单选按钮中的值?到目前为止,除了创建一个充当
      state
      text复选框的隐藏文本外,我正在努力想用当前的解毒工具集做任何事情,它将被检查值。我认为toHaveValue应该可以工作。在任何情况下,我们将来都有办法将属性拉入JS。