2017-09-26 4 views
3

Je suis en train de tester une application nodejs. Où je trouve cette erreur lorsque je lance le test. Le script de test est ci-dessous:Expect assertions type error -> expect (...) .Exist n'est pas une fonction

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

l'erreur a montré:

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

comment puis-je résoudre ce problème ?? TIA.

+0

expect.js n'a aucune méthode appelée 'toExist()'. Vous pouvez lire sa documentation ici: https://github.com/Automattic/expect.js – Svenskunganka

+2

montrez votre déclaration import/require. –

+0

@Svenskunganka suite à cette documentation pour le test .. d'autres assertions fonctionnent très bien -> https://github.com/mjackson/expect – mdashikar

Répondre

12

La bibliothèque d'assertion expect a changé de propriétaire. Il a été remis à l'équipe Jest, qui dans leur sagesse infinie, a créé un nouveau API.

Vous devez maintenant utiliser 'toBeTruthy()' au lieu de 'toExist()'. Vous pouvez toujours installer s'attendre comme avant, "npm install expect --save-dev", qui est actuellement à la version 21.2.1. La plupart des noms de méthodes resteront inchangés à l'exception de quelques-uns, y compris 'toExist()'.

+0

pas travaillé:/attendre (...). toBeTruthy() n'est pas une fonction – mdashikar

+0

btw merci de partager la nouvelle API – mdashikar

+0

son travaillé :) merci beaucoup. J'ai utilisé .toContain() au lieu de .toInclude() mais il ne correspond pas comme prévu @AKenny – mdashikar