たとえば、私class Person
の他のクラスとのコラボレーション、Kettle
およびTeacup
.
Person
には、それぞれ異なる方法で連続してand とmakeTea()
相互作用するメソッドがありますが、順序は重要ではありません。 と の間の相互作用、およびと の間の相互作用を、2 つの別個の単体テストで個別にキャプチャしたいと思います (それらを and と呼びましょう) 。Kettle
Teacup
Person
Kettle
Person
Teacup
testPersonFillsKettleWithWater
testPersonPoursBoilingWaterIntoTeacup
メソッドをテストするために、 normakeTea()
は必要ありません。との相互作用をテストする場合、相互作用は問題になりません。Kettle
Teacup
Kettle
Teacup
ただし、ScalaMock では、期待を宣言していないにもかかわらずTeacup
、いくつかの相互作用が発生すると、Teacup
「予期しないメソッド呼び出し」などについて癇癪を起こします。
jMockitの文献では、これは「厳密な」期待値の設定と呼ばれています。すべての期待値を指定することを省略して、1 つのメソッド内で特定の相互作用をテストできるようにしたいと考えています。質問は次のとおりです。
ScalaMock は非厳密な期待をサポートしていますか?
私はmock stub 'method
構文を認識していますが、リストしなければならないすべての期待をリストするのは面倒です。