Mockito, когда не работает без параметров - PullRequest
0 голосов
/ 28 марта 2019

У меня есть метод в классе обслуживания, который выполняет вызов retrofit2, и я пытаюсь смоделировать этот вызов. Это работает, когда я пытаюсь смоделировать успешный вызов, но не, когда я пытаюсь смоделировать ответ 400.

import static org.junit.Assert.assertEquals;

public class ServiceTests{

    @InjectMocks
    private ServiceClass serviceClass;

    @Mock
    private Call<...> retrofitCallMock;

    @Before
    public void setup(){
        MockitoAnnotations.initMocks(this);
    }

    //This is what i've tried
    @Test
    public void succCallTest(){
        //this works
        when(retrofitCallMock.execute()).thenReturn(Response.success(...));
        //run the method in the service class
        assertEquals("success", serviceClass.methodCall());
    }

    @Test
    public void failCallTest(){
        //this doesn't work
        when(retrofitCallMock.execute()).thenReturn(Response.error(400, ...));
        //run the method in the service class
        assertEquals("fail", serviceClass.methodCall());
    }
}

Второй тест не будет работать, поскольку я получаю нулевой объект при вызове execute (). И, таким образом, нулевой указатель был брошен впоследствии.

Любые предложения и рекомендации приветствуются. Спасибо.

...