在jMock中,可能期望oneOf()
某些方法而allowing()
所有其他方法。
当我尝试这样做时,allowing()
似乎会覆盖oneOf()
期望,无论方法是否被调用,我的测试都会通过。
如果调用oneOf()
方法,我只希望测试通过。我不想在每个我不想被调用的方法上明确说出allowing()
,因为这会使测试变得混乱。
更新:我试着写一个小例子来捕捉问题的本质并且它起作用,所以看起来我一定做错了。
public class ExampleTest {
@Rule public JUnitRuleMockery context = new JUnitRuleMockery();
interface Callback {
void method1();
void method2();
}
@Test
public void x() {
final Callback callback = context.mock(Callback.class);
context.checking(new Expectations(){{
oneOf(callback).method1();
allowing(callback);
}});
// callback.method1();
callback.method2();
}
}