当我测试一个restler调用时,我得到一个多次调用的done()。如果我只让restler调用onece,则不会出错,但是如果我在一次测试运行中调用两次相同的方法,则会出错。
以下是测试的简化版本
myModule = require 'myModule'
describe 'foo', ->
describe 'bar', ->
it "should hi", (done) ->
myModule.hi done
it "should hi again", (done) ->
myModule.hi done
这是myModule
rest = require 'restler'
exports.hi = (done) ->
rest.get('http://google.com'
).on "complete", (data, response) ->
console.log 'getting called once'
done null, data
我是否应该担心与restler的异步多次请求?导致此错误的原因是什么?
添加时控制台日志输出
◦ should hi: getting called once
✓ should hi (221ms)
◦ should hi again: getting called once
1) should hi
getting called once
✓ should hi again (211ms)
答案 0 :(得分:1)
看起来这是一个问题,Restler没有更新为与节点0.10.x兼容
https://github.com/danwrong/restler/pull/113/files
Restler会多次调用回调函数,但是有一个pull请求可以解决问题。