jMockではallowanceとexpectationを区別する(が、中身の実装は同じ)

allowing()は「やってもいいし、やらなくてもいい」ということ

allowing(sniperListener).sniperBidding();
  then(sniperState.is("bidding"));

allowingを使うことで本当にアサートしたいexpectationを際立たせることができる

jMockではこういう書き方だけど、jestのmockだとエクスペクテーションなしで戻り値設定できるので、不用意に呼び出し回数のエクスペクテーションをするとテストが壊れやすくなってしまう。プロトコルをどこまで縛るか?を考えなければいけない。