不假设地创建ScalaMock 2.4 ProxyMock

时间:2012-09-11 11:37:59

标签: scala scalatest expectations

说,我的class Person与其他班级KettleTeacup合作。

Person有一个方法makeTea(),它应该以不同的方式连续地与KettleTeacup互动,但顺序并不重要。我想要在两个单独的单元测试中分别捕获PersonKettle之间的互动以及PersonTeacup之间的互动(让我们称之为testPersonFillsKettleWithWater和{{1 }})

要测试方法testPersonPoursBoilingWaterIntoTeacup,不必拥有makeTea()Kettle。在测试与Teacup的互动时,任何互动Kettle都无关紧要。

使用ScalaMock但是如果你没有在Teacup上声明期望并且发生了一些交互,那么Teacup会发出关于“意外的方法调用”等的消息。

jMockit文献中,这称为设定'严格'的期望。我希望能够省略指定每个期望,并且只测试一个方法中的某些交互。所以问题是:

ScalaMock是否支持非严格的期望?

我知道Teacup语法,但列出我发现自己必须列出的所有期望是很麻烦的。

1 个答案:

答案 0 :(得分:1)

此类功能已经在preview release of ScalaMock3中,但在ScalaMock 2.4中我不担心。

我没有计划对2.x系列进行任何重大更新。话虽如此,你要找的东西不应该太难添加。请随意add an issue,我会看到我能做些什么。

或者如果您想要自己动手(以ProxyMockFactory为出发点),我会非常乐意接受添加此功能的拉取请求。