0

比如说,我class Person与其他班级合作,Kettle并且Teacup.

Person有一个方法makeTea()应该以不同的方式连续地与Kettleand交互Teacup,但顺序并不重要。我想在两个单独的单元测试中捕获 and 之间的交互,以及 and 之间的交互(我们Person称它们Kettle为and )PersonTeacuptestPersonFillsKettleWithWatertestPersonPoursBoilingWaterIntoTeacup

要测试该方法makeTea(),没有必要也Kettle没有Teacup。在测试与 的交互时Kettle,任何交互Teacup都无关紧要。

但是,对于 ScalaMock,如果您没有声明期望Teacup并且发生了一些交互,那么就会Teacup对“意外的方法调用”等发脾气。

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

ScalaMock 是否支持非严格期望?

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

4

1 回答 1

1

这种类型的功能已经在ScalaMock3 的预览版中,但恐怕在 ScalaMock 2.4 中没有。

我不打算对 2.x 系列进行任何重大更新。话虽如此,您要查找的内容应该不会太难添加。请随时添加问题,我会看看我能做些什么。

或者,如果您喜欢自己动手(以查看ProxyMockFactory作为起点),我很乐意接受添加此功能的拉取请求。

于 2012-09-11T12:02:41.453 回答