说,我的class Person
与其他班级Kettle
和Teacup
合作。
Person
有一个方法makeTea()
,它应该以不同的方式连续地与Kettle
和Teacup
互动,但顺序并不重要。我想要在两个单独的单元测试中分别捕获Person
和Kettle
之间的互动以及Person
和Teacup
之间的互动(让我们称之为testPersonFillsKettleWithWater
和{{1 }})
要测试方法testPersonPoursBoilingWaterIntoTeacup
,不必拥有makeTea()
或Kettle
。在测试与Teacup
的互动时,任何互动Kettle
都无关紧要。
使用ScalaMock但是如果你没有在Teacup
上声明期望并且发生了一些交互,那么Teacup
会发出关于“意外的方法调用”等的消息。
在jMockit文献中,这称为设定'严格'的期望。我希望能够省略指定每个期望,并且只测试一个方法中的某些交互。所以问题是:
ScalaMock是否支持非严格的期望?
我知道Teacup
语法,但列出我发现自己必须列出的所有期望是很麻烦的。
答案 0 :(得分:1)
此类功能已经在preview release of ScalaMock3中,但在ScalaMock 2.4中我不担心。
我没有计划对2.x系列进行任何重大更新。话虽如此,你要找的东西不应该太难添加。请随意add an issue,我会看到我能做些什么。
或者如果您想要自己动手(以ProxyMockFactory
为出发点),我会非常乐意接受添加此功能的拉取请求。