1

在 JMock 中使用 one() 或 oneOf() 有什么区别吗?
备忘单说:
oneOf = 调用只需要一次。
exact(n).of = 调用恰好是 n 次。注意:一个是精确(1)的方便简写。

在测试中我可以看到使用一个,而在其他测试中有一个。问题是这个关键字之间是否有任何区别,或者它意味着同样的事情。
在前面提到的备忘单中也有示例:

oneOf (calculator).add(1, 1); will(returnValue(2));
oneOf (calculator).add(2, 2); will(returnValue(5));

这可能意味着 oneOf 意味着我预计可能会调用更多方法 add ,在这种情况下有两个调用(其中一个是参数 1 和 1,第二个是参数 2 和 2)。
但是,exactly one又名exactly(1).ofexactly one可能意味着,在一种测试方法中,我只期望对该方法的一次调用。
也许这只是我对定义的误解。

4

1 回答 1

3

没有区别。oneOf(mockObject)只是exactly(1).of(mockObject).

看一下AbstractExpectations.java的源代码

于 2015-10-12T13:30:42.167 回答