JMock - 期望oneOf()一个方法,同时允许()所有其他方法

时间:2014-05-16 13:21:58

标签: java jmock

在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();
    }
}

0 个答案:

没有答案