我对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回调...
内时才会出现错误答案 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
解决