2017-08-19 1 views
1

J'essaie de tester le message d'un Error en utilisant expect().to.throw. J'ai lu que l'attente doit être passé une fonction à exécuter, comme s'opposer à la fonction qui revient. De toute façon, je n'arrive toujours pas à faire fonctionner cela, j'ai essayé un certain nombre de variations, mais c'est la configuration de base dans jsfiddle. Des idées pour lesquelles cela ne fonctionnera pas ou comment puis-je le réparer?Chai s'attendre à lancer avec le message d'erreur

Merci

+0

Ok je suis un idiot. Je ne lance rien, je retourne juste une nouvelle erreur. Cela fonctionne si j'utilise 'throw new Error()' – dzm

Répondre

0

La question était que j'utilisais throw pour vérifier, mais je ne jetais pas fait une erreur, mais un retour Error. Le tableau suivant évalue correctement:

expect(test.throwFunction()).to.be.an.instanceOf(Error).with.property('message', 'This is an error message') 

Cependant, je ne suis pas sûr que ce soit la manière la plus propre à vérifier - semble comme il pourrait y avoir une version abrégée.

Mise à jour: On dirait qu'il ya un work in progress pour ajouter to.be.an.error