如何检查使用Mocha,Chai和Sinon调用函数的参数个数?

时间:2017-03-15 11:03:23

标签: javascript unit-testing sinon karma-mocha sinon-chai

假设我们有一个正在导出函数的服务Foo

function bar(x,y){
    console.log(x,y);
}

我们想编写一个单元测试,测试用2个参数调用这个函数。 我试过这个

var args = sandboxSinon.spy(Foo, 'bar').getCalls()[0].args;

这就是回归

undefined is not an object (evaluating 'sandboxSinon.spy(Foo, 'bar').getCalls()[0].args

有人可以弄清楚发生了什么或我如何测试它?

1 个答案:

答案 0 :(得分:1)

以下是一个例子:

const sinon = require('sinon');

const Foo = {
  bar(x,y) {
    console.log(x, y);
  }
};

let spy = sinon.spy(Foo, 'bar');

Foo.bar('hello', 'world');

console.log( spy.firstCall.args.length ); // => 2