2017-03-21 9 views
0

最初の期待通りにテストが失敗しています。関数にスパイを挿入して、関数が正しい引数で呼び出されたかどうかを確認する方法はありますか?Sinonスパイが呼び出されない

  var myObj = {} 
      myObj.prop = function propFn() { 
       return 'foo' 
      } 

      myObj.func = function (disp) { 
       return disp(this.prop()) 
      } 

      let disp = sinon.spy() 
      sinon.stub(myObj, 'prop').callsFake(function fakeFn() { 
       return 'bar' 
      }) 

      expect(disp.called).to.be.true 
      disp.should.have.been.calledWith('bar') 

ありがとうございます!

答えて

0

(975ms)

を渡す

1と呼ばれるべき✓

describe('prop',() => { 
    const myObj = {}; 
    myObj.prop = function propFn() { 
    return 'foo'; 
    }; 

    myObj.func = function (disp) { 
    return disp(this.prop()); 
    }; 
    it('should be called',() => { 
    sinon.stub(myObj, 'prop').returns('bar'); 
    const disp = sinon.spy(); 
    myObj.func(disp); 
    expect(disp.callCount).to.equal(1); 
    expect(myObj.prop.callCount).to.equal(1); 
    expect(disp.callCount).to.equal(1); 
    expect(disp.calledWith('bar')).to.equal(true); 
    }); 
}); 

結果

小道具

、以下のようにしてみてください

関連する問題