相关疑难解决方法(0)

Sinon - 如何存根嵌套函数?

抱歉,如果这是一个简单的问题,我对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)

request mocha.js node.js sinon chai

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

chai ×1

mocha.js ×1

node.js ×1

request ×1

sinon ×1