title: How expect(stub.method) in sinon works?
body: <p>I have a sinon's stub: <code>dummy = sinon.stub({foo: function() {}});</code></p>
  
  <p>In my test, I can use the following syntax:</p>
  
  <pre><code>expect(dummy.foo.calledOnce).to.be.false;
  </code></pre>
  
  <p>However, the following syntax does not work:</p>
  
  <pre><code>expect(dummy.foo).to.have.been.called;   // this and the following tests passed, 
                                           // but not what I expect
  expect(dummy.foo).to.have.been.calledTwice;
  expect(dummy.foo).to.have.been.calledThrice;
  dummy.foo.should.have.been.called;
  </code></pre>
  
  <p>The syntax was copied from <a href="https://github.com/domenic/sinon-chai" rel="nofollow">here</a>. What is the right way to rewrite the expectation besides the first method?</p>