创造一个新的间谍

我们可以使用 jasmine.createSpy() 创建一个独立的间谍。如果我们需要将函数作为回调传递给另一个函数并想要测试它的使用方式,这通常很有用。

// source code
function each(arr, fn) {
    arr.forEach(fn);
}

// test code
describe('each', function() {
  let mockFn = jasmine.createSpy();

  it('calls a function for each item in the array ', function() {
    let arr = [1,2,3,4,5]
    each(arr, mockFn);
    expect(mockFn.calls.count()).toBe(arr.length);
  })
});