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

How to check the number of arguments that a function has been called with Mocha, Chai and Sinon?

假设我们有一个正在导出函数的服务 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

谁能知道发生了什么或者我该如何测试它?

这是一个例子:

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