Javascript jasmine节点没有输出

Javascript jasmine节点没有输出,javascript,node.js,jasmine-node,Javascript,Node.js,Jasmine Node,我不熟悉JavaScript、Node.js和jasmine。我正在尝试运行一个来自“节点工匠手册”的测试,FilesizeWatcher。我创建了package.json文件并运行“npm install”,从而将jasmine节点本地安装到项目中。当我在spec文件上运行jasmine节点时,我只看到console.log的输出,而没有看到jasmine的输出。我可以从console.log语句中看到对jasmine的调用(例如expect(err).toBe(“Path不以斜杠开头”);)

我不熟悉JavaScript、Node.js和jasmine。我正在尝试运行一个来自“节点工匠手册”的测试,FilesizeWatcher。我创建了package.json文件并运行“npm install”,从而将jasmine节点本地安装到项目中。当我在spec文件上运行jasmine节点时,我只看到console.log的输出,而没有看到jasmine的输出。我可以从console.log语句中看到对jasmine的调用(例如expect(err).toBe(“Path不以斜杠开头”);),但没有输出


知道应该从哪里开始查找错误吗?

我知道您指的是什么代码。问题是

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

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

问题的核心似乎是编写测试是为了在不同的代码上运行。从纯JS的角度来看,
watcher
对象没有上的
“键”,因此,简单地阅读代码,我不希望它工作。我对Node也很陌生,所以,起初,我只是假设它会工作。我认为这里的教训是:JS就是JS,node对它所做的一切都不会改变这一点。我在一本名为《雄辩的Javascript》的书中找到了一个更好的介绍。祝你好运

我意识到自己犯了一些错误后,才设法让它起作用

首先,我仍然有
self.callbacks={}在我的代码中。我把这个拿走了。
其次,我仍然在使用self.callbacks['error']('Path不以斜杠开头”)。我把它改成了self.emit('error','Path不以斜杠开头')


问题已解决(对我而言)。

我也遇到了同样的问题,并发现通过添加交换机:

——captureExceptions


上面的评论中@Charminbear提到,jasmine节点在我的脚本中生成了一个错误列表。解决这些问题。

我也有同样的问题,谢谢@John Doherty的回答,我发现了我的问题:

self.callbacks = {};
//...
FilesizeWatcher.prototype.on = function(eventType, callback) {
    this.callback[eventType] = callback;
};
这是一个关于
这个回调的打字错误,应该是
这个回调

FilesizeWatcher.prototype.on = function(eventType, callback) {
    this.callbacks[eventType] = callback;
};

请同时发布测试的相关代码。另外,尝试使用
--captureExceptions
标志运行它。Jasmine默认支持
节点.js
,因此您不需要
Jasmine节点
。我有一个类似的问题,但这里的答案对我来说不起作用。我的问题是: