我正在使用一个应用程序,在其中想要安装Jest和Cypress进行测试。我已经编写了可以运行的Jest测试,并且一切都很好,然后我通过执行以下命令来安装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)
})
})
错误信息如下所示:
我尝试了一些在网上看到的指南,但似乎漏掉了某些东西,因为我的IDE(Webstorm或Visual Studio)只建议我使用Jest断言而不是Chai的,如果我使用Jest断言,那么在运行Cypress时就会出现上述错误。
将测试断言更改为以下内容:
expect(clicked).toEqual(clicked)
显示以下错误:
我并不在意是使用 Jest 还是 Chai 断言,只要它可以正常工作即可。我的首选是 Chai,因为它可以在 Cypress 中工作,但目前,我只想让它不在我的 IDE 或 Cypress 中显示错误。
谢谢!
yarn add --dev chai mocha ts-node @types/chai @types/mocha
安装 chai 和 mocha 依赖项,并将import { expect } from 'chai'
添加到我的 Cypress 测试文件中来解决了它。 - Carlos