jasmine 创建一个新的间谍

示例

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

// 源代码
function each(arr, fn) {
    arr.forEach(fn);
}

// 测试代码
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);
  })
});