代码之家  ›  专栏  ›  技术社区  ›  Armeen Moon

在Sinon中什么是间谍和假电话?

  •  2
  • Armeen Moon  · 技术社区  · 8 年前

    我该怎么写一个间谍,在锡农,类似于茉莉?

    贾斯敏:

    spyOn(window, "requestAnimationFrame").and.callFake(() => {});
    

    Sinon:

    // pseudo code
    const requestAnimationFrameSpy = spy().and.callFake(() => {}); 
    global.window.requestAnimationFrame = requestAnimationFrameSpy;
    
    1 回复  |  直到 8 年前
        1
  •  2
  •   BlackICE    8 年前

    你可以用两种不同的方法,或者 sinon fakes 类似:

    const requestAnimationFrameSpy = sinon.fake().returns({value:'some value'}); 
    global.window.requestAnimationFrame = requestAnimationFrameSpy();
    

    你也可以这样做 sinon stubs :

    //from sinon website
    var myObj = {};
    myObj.prop = function propFn() {
        return 'foo';
    };
    
    sinon.stub(myObj, 'prop').callsFake(function fakeFn() {
        return 'bar';
    });
    
    myObj.prop(); // 'bar'