首页下载资源后端一个Mockito的Demo

ZIP一个Mockito的Demo

weixin_4203277011.66KB需要积分:1

资源文件列表:

MockitoTest.zip 大约有28个文件
  1. MockitoTest/
  2. MockitoTest/.gitignore 490B
  3. MockitoTest/MockitoTest.iml 210B
  4. MockitoTest/pom.xml 3.57KB
  5. MockitoTest/src/
  6. MockitoTest/src/main/
  7. MockitoTest/src/main/java/
  8. MockitoTest/src/main/java/com/
  9. MockitoTest/src/main/java/com/mockitoTest/
  10. MockitoTest/src/main/java/com/mockitoTest/entity/
  11. MockitoTest/src/main/java/com/mockitoTest/entity/PeopleInfoDto.java 490B
  12. MockitoTest/src/main/java/com/mockitoTest/mapper/
  13. MockitoTest/src/main/java/com/mockitoTest/mapper/PeopleInfoMapper.java 300B
  14. MockitoTest/src/main/java/com/mockitoTest/service/
  15. MockitoTest/src/main/java/com/mockitoTest/service/impl/
  16. MockitoTest/src/main/java/com/mockitoTest/service/impl/PeopleInfoServiceImpl.java 2.58KB
  17. MockitoTest/src/main/java/com/mockitoTest/service/PeopleInfoService.java 191B
  18. MockitoTest/src/main/java/com/mockitoTest/SpringbootApplication.java 496B
  19. MockitoTest/src/main/resources/
  20. MockitoTest/src/main/resources/application.yml 241B
  21. MockitoTest/src/main/resources/mapper/
  22. MockitoTest/src/main/resources/mapper/PeopleInfoMapper.xml 759B
  23. MockitoTest/src/test/
  24. MockitoTest/src/test/java/
  25. MockitoTest/src/test/java/com/
  26. MockitoTest/src/test/java/com/mockitoTest/
  27. MockitoTest/src/test/java/com/mockitoTest/PeopleInfoServiceMockitoTest.java 4.75KB
  28. MockitoTest/src/test/java/com/mockitoTest/PeopleInfoServiceTest.java 1.26KB

资源介绍:

一个Mockito的Demo
package com.mockitoTest; import com.mockitoTest.entity.PeopleInfoDto; import com.mockitoTest.mapper.PeopleInfoMapper; import com.mockitoTest.service.PeopleInfoService; import com.mockitoTest.service.impl.PeopleInfoServiceImpl; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; import org.springframework.beans.factory.annotation.Autowired; import java.util.Arrays; /** * @Author: Wulc * @CreateTime: 2024-09-15 * @Description: 单元测试 * @Version: 1.0 */ class PeopleInfoServiceMockitoTest { //Mockito测试类不能是pubilc //InjectMocks会调用实际的方法(InjectMocks只能修饰具体的class,不能修饰接口) @InjectMocks private PeopleInfoServiceImpl peopleInfoService; @Mock private PeopleInfoServiceImpl peopleInfoServiceMock; //Mock不会调用实际方法,因此需设定其返回值。Mockito.when(调用的方法).thenReturn(你给定的返回值) @Mock private PeopleInfoMapper peopleInfoMapperMock; @Autowired private PeopleInfoService peopleInfoServiceAutowired; @BeforeEach void initBean() { //让注解生效 MockitoAnnotations.initMocks(this); } @Test void registerPerson() { PeopleInfoDto peopleInfoDto = new PeopleInfoDto("qianqi", "钱七", "男", "420606198510233062", "18006588532", "18006588532@163.com", "www!@qw123456"); PeopleInfoDto peopleInfoDto1 = new PeopleInfoDto("error", "钱七", "男", "420606198510233062", "18006588532", "18006588532@163.com", "www!@qw123456"); //因为不想涉及实际数据库,所以所有PeopleInfoMapper类的方法,都自定一个调用此方法的返回值。 //这样在测试过程中如果有调用到PeopleInfoMapper类中的方法,就不会调用实际方法了,而是调用一个模拟方法,不会操作数据库。 Mockito.when(peopleInfoMapperMock.listAllPeopleId()).thenReturn(Arrays.asList("zhangsan12", "wangwu34")); Mockito.when(peopleInfoMapperMock.addPeopleInfo(peopleInfoDto)).thenReturn(1); Mockito.when(peopleInfoMapperMock.addPeopleInfo(peopleInfoDto1)).thenReturn(0); //校验peopleId为null PeopleInfoDto p0 = new PeopleInfoDto(null, "张三", "男", "420606198510233062", "15580703373", "15580703373@163.com", "www!@qw123456"); Assertions.assertEquals("PeopleId不能为null", peopleInfoService.registerPerson(p0)); //校验peopleId是否已存在 PeopleInfoDto p1 = new PeopleInfoDto("zhangsan12", "张三", "男", "420606198510233062", "15580703373", "15580703373@163.com", "www!@qw123456"); Assertions.assertEquals("PeopleId已经存在了", peopleInfoService.registerPerson(p1)); //校验身份证号是否合法 PeopleInfoDto p2 = new PeopleInfoDto("zhaoliu", "赵六", "男", "310107sasa196901033214", "13822297249", "13822297249@163.com", "www!@qw123456"); Assertions.assertEquals("身份证号不合法", peopleInfoService.registerPerson(p2)); //校验身份证号不能为null p2.setIdCardNo(null); Assertions.assertEquals("身份证号不能为null", peopleInfoService.registerPerson(p2)); //校验手机号是否合法 PeopleInfoDto p3 = new PeopleInfoDto("zhaoliu", "赵六", "男", "420606198510233062", "138222rr97249", "13822297249@163.com", "www!@qw123456"); Assertions.assertEquals("手机号不合法", peopleInfoService.registerPerson(p3)); //校验手机号不能为null p3.setPhone(null); Assertions.assertEquals("手机号不能为null", peopleInfoService.registerPerson(p3)); //校验邮箱是否合法 PeopleInfoDto p4 = new PeopleInfoDto("zhaoliu", "赵六", "男", "420606198510233062", "13822297249", "13822297249@##16323.com", "www!@qw123456"); Assertions.assertEquals("邮箱不合法", peopleInfoService.registerPerson(p4)); //校验邮箱不能为null p4.setEmail(null); Assertions.assertEquals("邮箱不能为null", peopleInfoService.registerPerson(p4)); //校验密码为null PeopleInfoDto p5 = new PeopleInfoDto("zhaoliu", "赵六", "男", "420606198510233062", "13822297249", "13822297249@163.com", null); Assertions.assertEquals("密码不能为null", peopleInfoService.registerPerson(p5)); //全部条件通过 Assertions.assertEquals("注册成功", peopleInfoService.registerPerson(peopleInfoDto)); //未知错误 Assertions.assertEquals("未知错误", peopleInfoService.registerPerson(peopleInfoDto1)); } }
100+评论
captcha