thenReturn() 方法在模拟时抛出编译错误
thenReturn() method is throwing compilation error while mocking
当我尝试使用 thenReturn() 方法时出现编译错误
"The method thenReturn(Dimension) in the type OngoingStubbing is not applicable for the arguments (int)"
使用以下代码
@Test
public void LetsMockListClass() {
List listmocked=mock(List.class);
when(listmocked.getSize()).thenReturn(2);
assertEquals(2, listmocked.getSize());
}
这很可能不是 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());
}
}
当我尝试使用 thenReturn() 方法时出现编译错误 "The method thenReturn(Dimension) in the type OngoingStubbing is not applicable for the arguments (int)" 使用以下代码
@Test
public void LetsMockListClass() {
List listmocked=mock(List.class);
when(listmocked.getSize()).thenReturn(2);
assertEquals(2, listmocked.getSize());
}
这很可能不是 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());
}
}