123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- package ${basePackage}.modules.${table.moduleName}.service.${table.businessName};
- import ${basePackage}.BaseSpringBootUnitTest;
- import org.junit.jupiter.api.Test;
- import org.springframework.boot.test.mock.mockito.MockBean;
- import javax.annotation.Resource;
- import cn.iocoder.dashboard.BaseSpringBootUnitTest;
- import ${basePackage}.modules.${table.moduleName}.service.${table.businessName}.impl.${table.className}ServiceImpl;
- import ${basePackage}.modules.${table.moduleName}.controller.${table.businessName}.vo.*;
- import ${basePackage}.modules.${table.moduleName}.dal.dataobject.${table.businessName}.${table.className}DO;
- import ${basePackage}.modules.${table.moduleName}.dal.mysql.${table.businessName}.${table.className}Mapper;
- import javax.annotation.Resource;
- import static cn.hutool.core.util.RandomUtil.*;
- import static ${basePackage}.modules.${table.moduleName}.enums.${simpleModuleName_upperFirst}ErrorCodeConstants.*;
- import static cn.iocoder.dashboard.util.AssertUtils.*;
- import static cn.iocoder.dashboard.util.RandomUtils.*;
- import static cn.iocoder.dashboard.util.date.DateUtils.*;
- import static org.junit.jupiter.api.Assertions.*;
- import static org.mockito.Mockito.*;
- /**
- * {@link ${table.className}ServiceImpl} 的单元测试类
- *
- * @author ${table.author}
- */
- public class ${table.className}ServiceTest extends BaseSpringBootUnitTest {
- @Resource
- private ${table.className}ServiceImpl ${classNameVar}Service;
- @Resource
- private ${table.className}Mapper ${classNameVar}Mapper;
- @Test
- public void testCreate${simpleClassName}_success() {
- // 准备参数
- ${table.className}CreateReqVO reqVO = randomPojo(${table.className}CreateReqVO.class);
- // 调用
- Long ${classNameVar}Id = ${classNameVar}Service.create${simpleClassName}(reqVO);
- // 断言
- assertNotNull(${classNameVar}Id);
- // 校验记录的属性是否正确
- ${table.className}DO ${classNameVar} = ${classNameVar}Mapper.selectById(${classNameVar}Id);
- assertPojoEquals(reqVO, ${classNameVar});
- }
- @Test
- public void testUpdate${simpleClassName}_success() {
- // mock 数据
- ${table.className}DO db${simpleClassName} = randomPojo(${table.className}DO.class);
- ${classNameVar}Mapper.insert(db${simpleClassName});// @Sql: 先插入出一条存在的数据
- // 准备参数
- ${table.className}UpdateReqVO reqVO = randomPojo(${table.className}UpdateReqVO.class, o -> {
- o.setId(db${simpleClassName}.getId()); // 设置更新的 ID
- });
- // 调用
- ${classNameVar}Service.update${simpleClassName}(reqVO);
- // 校验是否更新正确
- ${table.className}DO ${classNameVar} = ${classNameVar}Mapper.selectById(reqVO.getId()); // 获取最新的
- assertPojoEquals(reqVO, ${classNameVar});
- }
- @Test
- public void testUpdate${simpleClassName}_notExists() {
- // 准备参数
- ${table.className}UpdateReqVO reqVO = randomPojo(${table.className}UpdateReqVO.class);
- // 调用, 并断言异常
- assertServiceException(() -> ${classNameVar}Service.update${simpleClassName}(reqVO), ${simpleClassName_underlineCase.toUpperCase()}_NOT_EXISTS);
- }
- @Test
- public void testDelete${simpleClassName}_success() {
- // mock 数据
- ${table.className}DO db${simpleClassName} = randomPojo(${table.className}DO.class);
- ${classNameVar}Mapper.insert(db${simpleClassName});// @Sql: 先插入出一条存在的数据
- // 准备参数
- Long id = db${simpleClassName}.getId();
- // 调用
- ${classNameVar}Service.delete${simpleClassName}(id);
- // 校验数据不存在了
- assertNull(configMapper.selectById(id));
- }
- @Test
- public void testDelete${simpleClassName}_notExists() {
- // 准备参数
- Long id = randomLongId();
- // 调用, 并断言异常
- assertServiceException(() -> ${classNameVar}Service.delete${simpleClassName}(id), ${simpleClassName_underlineCase.toUpperCase()}_NOT_EXISTS);
- }
- @Test
- public void testGet${simpleClassName}Page() {
- // mock 数据
- ${table.className}DO db${simpleClassName} = randomPojo(${table.className}DO.class, o -> {); // 等会查询到
- });
- ${classNameVar}Mapper.insert(db${simpleClassName});
- }
- }
|