茉莉花节点没有输出
No output from jasmine-node
我是 JavaScript、Node.js 和 jasmine 的新手。我正在尝试 运行 本书 "The Node Craftsman Book" 中的一个测试,FilesizeWatcher。我已经创建了 package.json 文件和 运行 "npm install",从而在本地将 jasmine-node 安装到项目中。当我在规范文件上 运行 jasmine-node 时,我只看到 console.log 的输出,但没有看到 jasmine 的输出。我可以从 console.log 调用 jasmine 的语句(例如 expect(err).toBe("Path does not start with a slash");)中看到,但没有输出。
知道我应该从哪里开始查找错误吗?
我知道你指的是什么代码。问题是
watcher.on('grew', function(gain) {
expect(gain).toBe(5);
done();
});
替换为:
watcher.callbacks['grew'] = function(gain) {
expect(gain).toBe(5);
done();
}
问题的核心好像是测试写到运行在不同的代码上。从纯 JS 的角度来看,watcher
对象没有 on
"key",因此,通过简单地阅读代码,我不希望它工作。我也是 Node 的新手,所以起初,我只是假设它会工作。我认为这里的教训是:JS 就是 JS,节点对它做的任何事情都不会改变它。我在一本名为 "Eloquent Javascript" 的书中找到了更好的介绍。祝你好运!
在意识到我的一些错误后,我设法让它工作。
首先,我的代码中仍然有 self.callbacks = {};
。我删除了这个。
其次,我还在用self.callbacks['error']('Path does not start with a slash');
。我改成了self.emit('error', 'Path does not start with a slash');
问题已解决(对我而言)。
我遇到了同样的问题,并通过添加开关发现:
--captureExceptions
@Charminbear 在上面的评论中提到,jasmine-node 在我的脚本中生成了错误列表。修复这些解决了问题。
我遇到了同样的问题,感谢@John Doherty 的回答,我发现了我的问题:
self.callbacks = {};
//...
FilesizeWatcher.prototype.on = function(eventType, callback) {
this.callback[eventType] = callback;
};
this.callback
打错了,应该是this.callbacks
:
FilesizeWatcher.prototype.on = function(eventType, callback) {
this.callbacks[eventType] = callback;
};
我是 JavaScript、Node.js 和 jasmine 的新手。我正在尝试 运行 本书 "The Node Craftsman Book" 中的一个测试,FilesizeWatcher。我已经创建了 package.json 文件和 运行 "npm install",从而在本地将 jasmine-node 安装到项目中。当我在规范文件上 运行 jasmine-node 时,我只看到 console.log 的输出,但没有看到 jasmine 的输出。我可以从 console.log 调用 jasmine 的语句(例如 expect(err).toBe("Path does not start with a slash");)中看到,但没有输出。
知道我应该从哪里开始查找错误吗?
我知道你指的是什么代码。问题是
watcher.on('grew', function(gain) {
expect(gain).toBe(5);
done();
});
替换为:
watcher.callbacks['grew'] = function(gain) {
expect(gain).toBe(5);
done();
}
问题的核心好像是测试写到运行在不同的代码上。从纯 JS 的角度来看,watcher
对象没有 on
"key",因此,通过简单地阅读代码,我不希望它工作。我也是 Node 的新手,所以起初,我只是假设它会工作。我认为这里的教训是:JS 就是 JS,节点对它做的任何事情都不会改变它。我在一本名为 "Eloquent Javascript" 的书中找到了更好的介绍。祝你好运!
在意识到我的一些错误后,我设法让它工作。
首先,我的代码中仍然有 self.callbacks = {};
。我删除了这个。
其次,我还在用self.callbacks['error']('Path does not start with a slash');
。我改成了self.emit('error', 'Path does not start with a slash');
问题已解决(对我而言)。
我遇到了同样的问题,并通过添加开关发现:
--captureExceptions
@Charminbear 在上面的评论中提到,jasmine-node 在我的脚本中生成了错误列表。修复这些解决了问题。
我遇到了同样的问题,感谢@John Doherty 的回答,我发现了我的问题:
self.callbacks = {};
//...
FilesizeWatcher.prototype.on = function(eventType, callback) {
this.callback[eventType] = callback;
};
this.callback
打错了,应该是this.callbacks
:
FilesizeWatcher.prototype.on = function(eventType, callback) {
this.callbacks[eventType] = callback;
};