比如说,我class Person
与其他班级合作,Kettle
并且Teacup
.
Person
有一个方法makeTea()
应该以不同的方式连续地与Kettle
and交互Teacup
,但顺序并不重要。我想在两个单独的单元测试中捕获 and 之间的交互,以及 and 之间的交互(我们Person
称它们Kettle
为and )Person
Teacup
testPersonFillsKettleWithWater
testPersonPoursBoilingWaterIntoTeacup
要测试该方法makeTea()
,没有必要也Kettle
没有Teacup
。在测试与 的交互时Kettle
,任何交互Teacup
都无关紧要。
但是,对于 ScalaMock,如果您没有声明期望Teacup
并且发生了一些交互,那么就会Teacup
对“意外的方法调用”等发脾气。
在jMockit文献中,这被称为设置“严格”期望。我希望能够省略指定每个期望,而只测试一种方法中的某些交互。所以问题是:
ScalaMock 是否支持非严格期望?
我知道mock stub 'method
语法,但是列出我发现自己必须列出的所有期望很麻烦。