类型“JestMatchers”上不存在属性

Car*_*los 12 javascript chai typescript jestjs cypress

我正在使用一个应用程序,我想在其中安装 jest 和 cypress 进行测试。我的玩笑测试运行正常,一切都很好,然后我通过执行此命令安装了 cypress

 yarn add cypress @cypress/react @cypress/webpack-dev-server
Run Code Online (Sandbox Code Playgroud)

我在赛普拉斯进行了测试,每当我尝试使用它们时都运行正常

yarn cypress open-ct
Run Code Online (Sandbox Code Playgroud)

但问题是,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)
    })
})
Run Code Online (Sandbox Code Playgroud)

并显示错误:

显示错误

我尝试遵循在互联网上看到的一些指南,但我错过了一些东西,因为我的 IDE(Webstorm 或 Visual Studio)只建议我 Jest 断言而不是 Chai 的,如果我使用 Jest 断言,我在运行 Cypress 时会收到此错误

将测试断言更改为:

expect(clicked).toEqual(clicked)
Run Code Online (Sandbox Code Playgroud)

显示此错误:

在此输入图像描述

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

谢谢!

Car*_*los 10

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

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