模擬預設值

雖然簡單的 mock 會為每次呼叫返回 null(或基元的預設值),但可以更改該行為。

Dependency mock = Mockito.mock(Dependency.class, new Answer() {

        @Override
        public Object answer(InvocationOnMock invocationOnMock) throws Throwable {
            return "someString";
        }
    });

或使用 lambdas:

Dependency mock = Mockito.mock(Dependency.class, (Answer) invocationOnMock -> "someString");

此示例將 someString 返回到每個呼叫,但可以在 answer-method 中定義任何邏輯。