對于mock對象上的mock方法的調用,easymock支持指定次數,默認為1,例如
Easymock.expect(mock.method1()).andReturn(...);
這里沒有顯式的指定調用次數,因此效果等同于
Easymock.expect(mock.method1()).andReturn(...).once();
同時easymock提供了其他的方法,用于指定具體調用次數或者放寬調用次數檢驗。
1. once()
如果明確調用次數為1,則可以使用這個方法顯式指定,也可以省略,easymock默認為1。
2. atLeastOnce()
指定調用為1次或者多次,即 count >= 1.
3. anyTimes()
容許調用次數為任意次,即 count >= 0.
4. times(int count)
直接指定調用次數
5. times(int min, int max)
這個方法比較靈活,可以指定最小次數和最大次數。
其他的方法都可以視為這個方法的變體,比如
once()等價于times(1,1)
atLeastOnce()等價于times(1,Integer.MAX_VALUE)
anyTimes()等價于times(0,Integer.MAX_VALUE)
times(int count)等價于times(count,count)
實際使用中根據具體要求可以靈活選用上述方法來指定我們期望的調用數次。