我想测试被调用模拟方法具有不同参数的方法:JMock的 - 几个调用使用不同的参数
public void methodToTest(){
getMock().doSomething(1);
getMock().doSomething(2);
getMock().doSomething(3);
}
在我的单元测试,我想知道,如果methodToTest真的呼吁与这些人恰恰方法这些论据。这是我写的代码:
@Test
public void myMockTest(){
oneOf(mock).doSomething(1);
oneOf(mock).doSomething(2);
oneOf(mock).doSomething(3);
}
(2)我得到一个“意外的调用” - 就好像它无法区分不同的参数一样。所以,我已经试过了一个:
exactly(3).of(mock).doSomething(with(Matchers.anyOf(same(1), same(2), same(3))));
但这也没做什么,我的预期。
最后,一个工作:
exactly(3).of(mock).doSomething(with(any(Integer.class)));
所以我知道,我的方法与任何整数号码呼叫3次。有没有什么办法可以确定,它的恰恰是我已经通过的论点?
那么,发布的代码工作得很好。 JMock似乎有铸造对象的问题,虽然..解决了迄今。 –
什么是铸造问题?你能给我们更多的细节吗? –
现在这个问题解决了吗? –