0

假设我们有一个服务 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

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

4

1 回答 1

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
于 2017-03-15T11:08:28.973 回答