比方说,我的class Person与其他类Kettle和Teacup协作。
Person有一个方法makeTea(),应该以不同的方式依次与Kettle和Teacup交互,但顺序并不重要。我想在两个独立的单元测试中捕获Person和Kettle之间的交互,以及Person和Teacup之间的交互(让我们将它们称为testPersonFillsKettleWithWater和testPersonPoursBoilingWaterIntoTeacup)。
要测试方法makeTea(),不需要有Kettle或Teacup。在测试与Kettle的交互时,Teacup的任何交互都无关紧要。
然而,对于ScalaMock,如果您没有声明对Teacup的期望,但是仍然发生了一些交互,那么Teacup就会对“意外的方法调用”等问题大发雷霆。
在jMockit的文献中,这被称为设定“严格”的期望。我希望能够省略指定每个期望,只测试一个方法中的某些交互。所以问题是:
ScalaMock支持非严格的期望吗?
我知道mock stub 'method语法,但是列出我不得不列出的所有期望是很麻烦的。
发布于 2012-09-11 12:02:41
这种类型的功能已经在ScalaMock3预览版中了,但恐怕在ScalaMock 2.4中没有。
我不打算对2.x行进行任何重大的更新。话虽如此,你要寻找的东西不应该太难补充。请随便找增加一个问题,我看看我能做些什么。
或者,如果您想自己动手(看看ProxyMockFactory作为起点),我很乐意接受添加此功能的拉请求。
https://stackoverflow.com/questions/12368858
复制相似问题