抱歉,如果这是一个简单的问题,我对Node和Sinon来说相对较新.我正在努力弄清楚如何断言在Nodejs中调用嵌套的异步函数.
我正在使用mocha,chai,sinon和request(https://github.com/request/request),但我认为我在遗漏部分缺少一些基本的东西.
my_app.js中的示例 -
var request = require('request');
function MyModule() {
};
MyModule.prototype.getTicker = function(callback) {
request('http://example.com/api/ticker', function(error, response) {
if (error) {
callback(error);
} else {
callback(null, response);
}
});
};
exports.mymodule = new MyModule();
Run Code Online (Sandbox Code Playgroud)
在测试里面.我正在尝试将请求的调用存根,并提供一些虚拟数据返回.但是我在创建存根的行上不断收到错误"请求未定义".
var myApp = require('../my_app.js')
,assert = require("assert")
,chai = require('chai')
,sinon = require('sinon')
,expect = chai.expect;
describe('mymodule object', function() {
var mymodule = myApp.mymodule;
before(function(done) {
sinon.stub(request).yields(null, JSON.stringify({
price: '100 USD'
}));
done();
});
it('getTicker function should call request on example …Run Code Online (Sandbox Code Playgroud)