【问题标题】:expect(...).toHaveAttribute is not a function despite properly extending itexpect(...).toHaveAttribute 不是一个函数,尽管它已正确扩展
【发布时间】:2020-06-05 22:37:18
【问题描述】:

我的测试设置使用 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 不是函数

【问题讨论】:

    标签: javascript testing jestjs detox jest-dom


    【解决方案1】:

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

    【讨论】:

    • 鉴于此,您目前是否希望用户检查复选框/单选按钮中的值?到目前为止,除了创建一个充当state text-checkbox 的隐藏文本之外,我还在努力思考当前排毒工具集的任何内容,它将检查其值。
    • 我认为 toHaveValue 应该可以工作。无论如何,我们将来会有办法将属性拉入 JS 中。
    猜你喜欢
    • 2021-05-02
    • 2013-11-12
    • 2016-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-15
    • 2011-10-19
    • 2019-08-08
    相关资源
    最近更新 更多