Pet*_*zov 0 java junit mockito junit5
我正在尝试实现这个 JUnit 代码:
private BinlistsService binlistsService = Mockito.mock(BinlistsService.class);
@Mock
Optional<BinLists> binList = null;
@BeforeEach
public void beforeEachTest() throws IOException {
BinLists binLists = new BinLists();
binLists.setId(1);
....
binList = Optional.of(binLists);
}
@Test
public void testBinCountryCheckFilterImpl() {
when(binlistsService.findByName(anyString())).thenReturn(binList);
}
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误堆栈:
org.mockito.exceptions.base.MockitoException:
Cannot mock/spy class java.util.Optional
Mockito cannot mock/spy because :
- final class
at org.data
Run Code Online (Sandbox Code Playgroud)
你知道我该如何解决这个问题吗?
@Mock在Optional<BinLists>场上移除。
Optional是一个简单的类,可以由您轻松创建和控制,因此您无需模拟它。只需在需要时创建一个实际实例,您已经在其中执行了它beforeEachTest():
private BinlistsService binlistsService = Mockito.mock(BinlistsService.class);
Optional<BinLists> binList = null;
@BeforeEach
public void beforeEachTest() throws IOException {
BinLists binLists = new BinLists();
binLists.setId(1);
....
binList = Optional.of(binLists);
}
@Test
public void testBinCountryCheckFilterImpl() {
when(binlistsService.findByName(anyString())).thenReturn(binList);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5755 次 |
| 最近记录: |