Метод thenReturn () выдает ошибку компиляции во время макета - PullRequest
0 голосов
/ 12 октября 2019

, хотя я пытался использовать метод thenReturn (), он выдает ошибку компиляции "Метод thenReturn (Dimension) в типе OngoingStubbing не применим для аргументов (int)" с кодом ниже

@Test
public void LetsMockListClass() {
    List listmocked=mock(List.class);
    when(listmocked.getSize()).thenReturn(2);
    assertEquals(2, listmocked.getSize());
}

1 Ответ

0 голосов
/ 18 октября 2019

Скорее всего, это не проблема Mockito, а проблема неправильного оператора импорта:

  • java.awt.List имеет метод getSize(), возвращающий объект типа java.awt.Dimension.

  • java.util.List имеет метод size(), возвращающий int.

Версия с правильным оператором импорта может выглядетьэто:

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

import java.util.List;
import org.junit.jupiter.api.Test;

public class ListMockTest {

    @Test
    public void letsMockListClass() {
        List<?> listMock = mock(List.class);
        when(listMock.size()).thenReturn(2);
        assertEquals(2, listMock.size());
    }
}

...