失败的测试没有在jasmine-node中显示

时间:2013-03-18 04:52:34

标签: javascript node.js tdd jasmine jasmine-node

我对Web服务进行了以下基本测试:

var request = require('http'),
    url     = 'http://localhost:1337/';

describe('webservice', function() {

  it('should respond to /ping', function(done) {
    request.get(url + 'ping', function(res) {
      expect(res.statusCode).toBe(200);
      res.on('data', function(body) {
        var json = JSON.parse(body);
        expect(json.message).toBe("Hi, I'm alive");
        expect(json.date).toBeDefined();
        done();
      });
    });

  });

});

似乎工作正常:

$ jasmine-node --verbose tests/ping/

webservice
    should respond to /ping

Finished in 0.032 seconds
1 test, 3 assertions, 0 failures

但是,如果我让一个测试失败(例如,更改预期的json消息),我会收到以下错误:

$ jasmine-node --verbose --coffee tests/ping/
StreamWrap: Aborting due to unwrap failure at ../src/stream_wrap.cc:125
Aborted (core dumped)

知道我能做错什么吗?

(更重要的是,我在我的js中遇到任何错误,测试只是默默地失败,没有发生任何线索,js错误只是消失了)

更新:仅当失败的测试位于request.get回调...

内时才会出现错误

1 个答案:

答案 0 :(得分:2)

赫尔曼是对的,我在github的回购(https://github.com/mhevery/jasmine-node)提出了一个问题,并与@tebriel一起发现这是v0.10.0的问题

这是门票:https://github.com/mhevery/jasmine-node/issues/211

它可以运行到版本0.9.9,唯一失败的版本似乎是v0.10.0

还有一个提交修复它,所以我们希望它可以在下一个版本中修复

-

编辑:我可以确认此问题已通过节点v0.10.1

解决