前置き:モックを使った試験の目的は相互作用中心の試験 「モックとスタブの違い」の記事にもあるように、モックを使った相互作用中心の試験とは「(一連の)メソッド呼び出しが(しかるべき順序でしかるべき引数で・・・)行なわれたかどうか」を試験するということです。試験対象オブジェクトに対して刺激をしてやって(メソッドコールをしてやって)、それに引き続いてそのオブジェクトが外界に対してどのような一連のメソッドコールを発行するか、ということを確認するということがモックオブジェクトを使った試験(相互作用試験)の本質です。 ただ、このとき「モックオブジェクト」はオブジェクトから「外界」への働きかけを検出するための道具立てに過ぎません。モックオブジェクトは相互作用中心の試験を実現する、一つの手段にすぎません。 assertを使ったサンプルコードにおける問題 ちょっと話はずれるのですが、RubyとかGroovy