javascript - Egenskapen finns inte på typen 'JestMatchers'


Jag arbetar med en app där jag vill ha installerat jest och cypress för teständamål. Jag har mitt jest-test som körs utan problem och allt är bra med det, sedan installerade jag cypress genom att köra detta kommando

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

Och jag har mitt test i Cypress som körs bra varje gång jag försöker dem med

yarn cypress open-ct

Men saken är den, att Chai-assertioner fungerar bra i testet men visar fel i min IDE

Mitt dummytest

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)
    })
})

och felet som visas:

Jag har försökt följa några guider jag såg på Internet men jag saknar något eftersom min IDE (Webstorm eller Visual Studio) bara föreslår Jest-assertions och inte Chais, och om jag använder Jest-assertion får jag detta fel när jag kör Cypress

Att ändra testpåståendet till detta:

expect(clicked).toEqual(clicked)

visar detta fel:

Jag bryr mig egentligen inte om jag måste använda Jest eller Chai-assertioner så länge detta fungerar. Min preferens kommer att vara Chais eftersom det är de som fungerar inom Cypress, men just nu ville jag bara att det inte ska visa ett fel i min IDE eller i Cypress.

Tack!

Svar #1

Tack @jonrsharpe för att du spenderade din tid med denna TypeScript-nybörjare :)

Jag har fixat det genom att installera chai- och mocha-beroenden med yarn add --dev chai mocha ts-node @types/chai @types/mocha och lagt till detta i min cypress-testfil import { expect } from 'chai'

Relaterade artiklar