【问题标题】:No output from jasmine-node茉莉花节点没有输出
【发布时间】:2015-05-05 11:38:58
【问题描述】:

我是 JavaScript、Node.js 和 jasmine 的新手。我正在尝试从 FilesizeWatcher 的“The Node Craftsman Book”一书中进行测试。我创建了 package.json 文件并运行“npm install”,从而将 jasmine-node 本地安装到项目中。当我在规范文件上运行 jasmine-node 时,我只看到来自 console.log 的输出,但没有看到来自 jasmine 的输出。我可以从 console.log 语句中看到对 jasmine 的调用(例如,expect(err).toBe("Path doesn't start with a slash");),但没有输出。

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

【问题讨论】:

  • 请同时贴出您测试的相关代码。另外,尝试使用--captureExceptions 标志运行它。
  • Jasmine,since version 2.0默认支持node.js,所以你不需要jasmine-node
  • 我有类似的问题,但这里的答案对我不起作用。这是我的问题:stackoverflow.com/q/35641040/1735836

标签: javascript node.js jasmine-node


【解决方案1】:

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

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

替换为:

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

问题的核心似乎是测试是为了在不同的代码上运行而编写的。从纯 JS 的角度来看,watcher 对象没有on“键”,因此,通过简单地阅读代码,我不希望它能够工作。我也是 Node 的新手,所以起初我只是假设它会起作用。我认为那里的教训是:JS 就是 JS,并且节点不会改变它。我在一本名为“Eloquent Javascript”的书中找到了更好的介绍。祝你好运!

【讨论】:

    【解决方案2】:

    我有同样的问题,并通过添加开关发现:

    --captureExceptions

    @Charminbear 在上面的 cmets 中提到,jasmine-node 在我的脚本中生成了一个错误列表。解决这些问题可以解决问题。

    【讨论】:

      【解决方案3】:

      在意识到我自己的一些错误后,我设法让它工作。

      首先,我的代码中还有self.callbacks = {};。我删除了这个。 其次,我还在使用self.callbacks['error']('Path does not start with a slash');。我改成self.emit('error', 'Path does not start with a slash');

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

      【讨论】:

        【解决方案4】:

        我遇到了同样的问题,感谢@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;
        };
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-12-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-05-07
          相关资源
          最近更新 更多