当前使用版本(必填,否则不予处理)
该问题是如何引起的?(确定最新版也有问题再提!!!)
测试代码
package com.example.mybatisplusmockdemo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import java.util.List;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.mockito.BDDMockito.given;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
@SpringBootTest(classes = MybatisplusMockDemoApplication.class)
public class HomePopUpConfigServiceTest {
@Autowired
private HomePopUpConfigService homePopUpConfigService;
@MockBean
private HomePopUpConfigMapper homePopUpConfigMapper;
@Test
public void testPageList() {
PageDTO pageDTO = new PageDTO();
pageDTO.setLimit(10L);
pageDTO.setCurrent(1L);
Page<HomePopUpConfig> page = Page.of(pageDTO.getCurrent(), pageDTO.getLimit());
HomePopUpConfig build = HomePopUpConfig.builder().build();
page.setRecords(List.of(build));
page.setTotal(1L);
page.setPages(1L);
page.setSize(10L);
page.setPages(1L);
given(this.homePopUpConfigMapper.selectPage(page, null)).willReturn(page);
Page<HomePopUpConfig> pages = this.homePopUpConfigService.list(pageDTO);
assertEquals(1L, pages.getPages());
assertEquals(1L, pages.getTotal());
assertEquals(10L, pages.getSize());
assertEquals(1L, pages.getPages());
List<HomePopUpConfig> data = pages.getRecords();
assertFalse(data.isEmpty());
verify(homePopUpConfigMapper, times(1))
.selectPage(page, null);
}
}
下面代码没按预期mock值返回
package com.example.mybatisplusmockdemo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@Service
@Slf4j
@RequiredArgsConstructor
public class HomePopUpConfigServiceImpl implements HomePopUpConfigService {
private final HomePopUpConfigMapper homePopUpConfigMapper;
@Override
public Page<HomePopUpConfig> list(PageDTO pageDTO) {
Page<HomePopUpConfig> page = Page.of(pageDTO.getCurrent(), pageDTO.getLimit());
//运行上面测试代码,这里的homePopUpConfigPage对象不是我mock返回的对象值, 返回了null
Page<HomePopUpConfig> homePopUpConfigPage = this.homePopUpConfigMapper.selectPage(page, null);
return homePopUpConfigPage;
}
}
报错信息
无报错信息