属性 在类型 'JestMatchers ' 上不存在

Property does not exist on type 'JestMatchers '

我正在使用一个应用程序,我想在其中安装 jest 和 cypress 以进行测试。我开玩笑地测试 运行 ok 并且一切正常,然后我通过执行此命令安装了 cypress

 yarn add cypress @cypress/react @cypress/webpack-dev-server

而且我在 Cypress 中进行了测试,当我尝试使用

时 运行 没问题
yarn cypress open-ct

但问题是,Chai 断言在测试中运行良好,但在我的 IDE

中显示错误

我的假人测试

it('Test test and onClick', () => {
  let clicked = false
  const onClick = () => (clicked = true)
  mount(<Button text="Random text" onClick={onClick} />)

  cy.get('button').should('have.text', 'Random text')
  cy.get('button')
    .click()
    .then(() => {
      expect(clicked).to.equal(clicked)
    })
})

和显示的错误:

我尝试遵循我在 Internet 上看到的一些指南,但我遗漏了一些东西,因为我的 IDE(Webstorm 或 Visual Studio)只建议我 Jest 断言而不是 Chai 的断言,如果我使用 Jest 断言 我在 运行ning Cypress

时遇到了这个错误

将测试断言更改为:

expect(clicked).toEqual(clicked)

显示此错误:

我真的不在乎是否必须使用 Jest 或 Chai 断言,只要这有效即可。我更喜欢 Chai,因为它可以在 Cypress 中使用,但现在,我只希望它不会在我的 IDE 或 Cypress 中显示错误。

谢谢!

感谢@jonrsharpe 花时间与这个打字稿新手:)

我已经通过 yarn add --dev chai mocha ts-node @types/chai @types/mocha 安装 chai 和 mocha 依赖项并将其添加到我的 cypress 测试文件 import { expect } from 'chai'

来修复它