当我测试一个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)
最佳答案
看起来这是Restler无法更新为与节点0.10.x兼容的问题
https://github.com/danwrong/restler/pull/113/files
Restler将多次调用该回调,但是存在一个拉出请求可以解决该问题。
关于node.js - 用 Mocha 测试时,reSTLer的“done()被多次调用”错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17953585/