JMockit:对非模拟对象的期望,或具有更多行为的模拟对象

时间:2016-01-20 21:14:57

标签: jmockit

我在测试中使用下面的课程代替了真实的' Requestor。 (真实的是HTTP。)请注意,此处的方法对于返回类型有void,但它具有模拟行为;它回调了回调。我希望我能在这里写出对方法的期望,这样我就不需要在计数器等上写JUnit断言了。但我不知道如何;我不知道这可能是@Mock,因为我没有替换其他一些活动对象,我也看不到如何使用委托来获取返回的函数void。有办法吗?

    private static class TrivialRequestor implements Requestor {

    private final boolean error;
    private final int returnedQueueDepth;

    TrivialRequestor(boolean error, int returnedQueueDepth) {
        this.error = error;
        this.returnedQueueDepth = returnedQueueDepth;
    }

    @Override
    public void dispatch(Ticket ticket, FutureCallback<RequestorResult> callback) {
        if (error) {
            callback.onFailure(new Exception("You asked for it"));
        } else {
            callback.onSuccess(new RequestorResult(ticket, returnedQueueDepth));
        }
    }
}

0 个答案:

没有答案