4

引言

总结,一个很好的习惯,因为只有总结了,才知道自己哪方面进步了,哪方面不足。也只有会总结自己的人,它才会在一次次总结当中不断去完善自己。

本周干了什么

  • 测试研究生考试系统
  • 完善研究考试系统的一些功能
  • 研究考试系统说明文档
  • 自己偶尔看看一些基础知识
总感觉这一天天过的太快了,觉得什么也没干一天又一天的就过去了

单元测试

需要测试的方法:

public Long countSubjectNumber(College college) {  
    return subjectRepository.countByCourse_College(college);  
}

使用count查询学院中的试题数量

  • 之前没有使用过Mockito进行单元测试,在测试时需要准备很多真实的数据,也是在我提交 pull requests时潘老师给出的建议,就先自己尝试了一下

    image.png

  • 初次尝试Mockito单元测试

    @Test  
    void countSubjectNumber() {  
        logger.debug("mock一个学院");  
      College mockResultCollege = new College();  
      Mockito.when(collegeRepository.save(Mockito.any(College.class))).thenReturn(mockResultCollege);  
    
      logger.debug("mock一个课程");  
      Course mockResultCourse = new Course();  
      mockResultCourse.setCollege(mockResultCollege);  
      Mockito.when(courseRepository.save(Mockito.any(Course.class))).thenReturn(mockResultCourse);  
    
      logger.debug("mock一个试题");  
      Subject mockResultSubject = new Subject();  
      mockResultSubject.setCourse(mockResultCourse);  
      Mockito.when(subjectRepository.save(Mockito.any(Subject.class))).thenReturn(mockResultSubject);  
    
      Mockito.when((subjectService).countSubjectNumber(mockResultCollege)).thenReturn((long) 1);  
    
      logger.debug("调用测试方法");  
      Long subjectNumber = subjectService.countSubjectNumber(mockResultCollege);  
    
      logger.debug("断言符合预期");  
      assertThat(subjectNumber).isEqualTo(1);
      }
争取以后全都该用Mockito的方式,进行单元测试

总结

1.又一次体会到开发完成之后,测试的重要性。
2.开发时,明确思想还是重中之重,不能只为了实现该功能,而是要为了以后维护方便,对于我还有待提高。

最后

希望疫情能早点过去,迎来更好的每一天!!!


潘佳琦
894 声望34 粉丝

为 API 生,为框架死,为 debug 奋斗一辈子;


引用和评论

0 条评论