16

I'm testing a NodeJS app. I encountered this error when I ran the tests. The test script is below:

.expect((res) => {
    expect(res.headers['x-auth']).toExist();
    expect(res.body._id).toExist();
    expect(res.body.email).toBe(email);
})

The error showed:

TypeError: expect(...).toExist is not a function

How can I resolve this issue?

ggorlen
  • 44,755
  • 7
  • 76
  • 106
Md Ashiqur Rahman
  • 454
  • 1
  • 5
  • 19

2 Answers2

34

The expect assertion library has changed ownership. It was handed over to the Jest team, who in their infinite wisdom, created a new API.

You must now use toBeTruthy()instead of toExist().

You can still install expect as before, npm install expect --save-dev, which is currently at version 21.2.1. Most methods names will remain unchanged except for a few, including toExist().

ggorlen
  • 44,755
  • 7
  • 76
  • 106
AKenny
  • 411
  • 4
  • 3
2

If you are using Jest you can also use 'toBeDefined()'

Ankit
  • 160
  • 1
  • 7