0


单元测试:无返回值接口单元测试

  1. 在平常的工作中,我们经常会用到单元测试,那么,单元测试应该怎么写呢?有什么需要注意的地方呢?
  2. 比如保存,数据是否保存成功,我们应该用单元测试怎么断言呢?像保存完成后,再去数据库做一边查询,看数据是否保存成功,那么,除过这种,我们还可以用下面的这种方式.
  3. 1:引入包:
  1. <dependency>
  2. <groupId>junit</groupId>
  3. <artifactId>junit</artifactId>
  4. <version>4.12</version>
  5. <scope>test</scope>
  6. </dependency>
  7. <dependency>
  8. <groupId>org.mockito</groupId>
  9. <artifactId>mockito-all</artifactId>
  10. <version>2.0.2-beta</version>
  11. <scope>test</scope>
  12. </dependency>
  13. <dependency>
  14. <groupId>org.powermock</groupId>
  15. <artifactId>powermock-api-mockito2</artifactId>
  16. <version>2.0.9</version>
  17. <scope>test</scope>
  18. </dependency>
  19. <dependency>
  20. <groupId>org.powermock</groupId>
  21. <artifactId>powermock-module-junit4</artifactId>
  22. <version>2.0.0</version>
  23. <scope>test</scope>
  24. </dependency>
  1. 2service保存方法:
  1. package test.boot.service.impl;
  2. import org.springframework.beans.factory.annotation.Autowired;
  3. import org.springframework.stereotype.Service;
  4. import test.boot.dao.StudentDao;
  5. import test.boot.service.StudentService;
  6. import test.boot.vo.StuentVO;
  7. @Service
  8. public class StudentServiceImpl implements StudentService {
  9. @Autowired
  10. private StudentDao studentDao;
  11. public void save(StuentVO vo1) {
  12. studentDao.save(vo1);
  13. }
  14. }
  1. 3:单元测试:
  1. import org.junit.Assert;
  2. import org.junit.Test;
  3. import org.junit.runner.RunWith;
  4. import org.mockito.ArgumentCaptor;
  5. import org.mockito.Mock;
  6. import org.powermock.api.mockito.PowerMockito;
  7. import org.springframework.boot.test.context.SpringBootTest;
  8. import org.springframework.test.context.junit4.SpringRunner;
  9. import test.boot.SpringbootApplicationTest;
  10. import test.boot.dao.StudentDao;
  11. import test.boot.service.StudentService;
  12. import test.boot.vo.StuentVO;
  13. import static org.mockito.Mockito.verify;
  14. @RunWith(SpringRunner.class)
  15. @SpringBootTest(classes = SpringbootApplicationTest.class)
  16. public class StudentTest {
  17. @Mock
  18. private StudentDao studentDao;
  19. @Mock
  20. private StudentService studentService;
  21. @Test
  22. public void test02(){
  23. StuentVO vo = new StuentVO();
  24. vo.setName("大杜");
  25. vo.setPhone("12345678911");
  26. vo.setId(1L);
  27. // 先调用保存方法
  28. studentService.save(vo);
  29. // 对入参进行获取
  30. ArgumentCaptor<StuentVO> stuentVOArgumentCaptor = ArgumentCaptor.forClass(StuentVO.class);
  31. verify(studentDao).save(stuentVOArgumentCaptor.capture());
  32. Assert.assertEquals("姓名不一致", vo.getName(), stuentVOArgumentCaptor.getValue().getName());
  33. }
  34. }
  1. 4:像保存这些接口,无返回值,但是需要进行断言,看是否保存成功,我们mock保存方法,这样可以进行判断。
  2. 不断的学习,不断的充实自己,生活才会更加的美好!2024加油!美好的风景一直在路上!
标签: 单元测试 log4j java

本文转载自: https://blog.csdn.net/qq_36833673/article/details/135325930
版权归原作者 忘忧人生 所有, 如有侵权,请联系我们删除。

“单元测试:无返回值接口单元测试”的评论:

还没有评论