Pas de sortie de jasmine-node

Je suis nouveau sur JavaScript, Node.js et jasmine. J'essaie d'exécuter un test du livre "The Node Craftsman Book", FilesizeWatcher. J'ai créé le fichier package.json et lance "npm install", installant ainsi le nœud jasmine localement dans le projet. Lorsque je lance jasmine-node sur le fichier spec, je vois seulement la sortie de console.log mais rien de jasmine. Je peux voir à partir des instructions console.log qui appellent jasmine (par exemple, attendez (err) .toBe ("Chemin ne démarre pas avec une barre oblique");) sont réalisés, mais il n'y a pas de sortie.

Une idée de l'endroit où je devrais commencer à trouver une erreur?

Je sais à quel code vous faites référence. Le problème est

 watcher.on('grew', function(gain) { expect(gain).toBe(5); done(); }); 

Remplacer par:

 watcher.callbacks['grew'] = function(gain) { expect(gain).toBe(5); done(); } 

Le problème principal semble être que le test est écrit pour être exécuté sur un code différent. D'un point de vue JS pur, l'objet watcher n'a pas le on "clé" et donc, en lisant simplement le code, je ne m'attends pas à ce qu'il fonctionne. Je suis nouveau sur Node aussi, d'abord, j'ai tout simplement supposé que cela fonctionnerait. Je pense que la leçon est là: JS est JS et aucun nœud ne le fait changer. J'ai trouvé une bien meilleure introduction dans un livre intitulé «Javascript éloquent». Bonne chance!

J'ai eu le même problème et j'ai découvert qu'en ajoutant le commutateur:

--captureExceptions

Mentionné par @Charminbear dans les commentaires ci-dessus, jasmine-node a produit une liste d'erreurs dans mes scripts. La résolution de ces problèmes a résolu le problème.

J'ai réussi à faire fonctionner cela après avoir réalisé quelques erreurs de ma part.

Tout d'abord, j'avais toujours self.callbacks = {}; Dans mon code. J'ai supprimé ceci. Deuxièmement, j'utilise toujours self.callbacks['error']('Path does not start with a slash'); . J'ai changé pour self.emit('error', 'Path does not start with a slash');

Problème résolu (pour moi).