Spring JPA 规范 API 单元测试

问题描述

我正在尝试为返回 Specification 对象的 lamda 的类编写单元测试。我无法使用 Mockito 和 junit5 获得线路覆盖

final class StudentRecordsspecification{
public static Specification<ClassesForFall> findByStudentRegisteredforClasses(Student student){
    return(fallClasses,criteriaQuery,criteriaBuilder) ->{
         List<Predicate> sqlCriteria = new ArrayList<>();
         sqlCriteria.add(criteriaBuilder.equal(fallClasses.get("profile"),student.getProfile()));
         if (!student.getSubjectTeachers().isEmpty()) {
            student
              .getSubjectTeachers()
              .forEach(
                (subject,teacher) ->
                sqlCriteria.add(criteriaBuilder.equal(fallClasses.get(subject),teacher)));
        }
         criteriaQuery.where(criteriaBuilder.and(sqlCriteria.toArray(new Predicate[] {})));
      return criteriaQuery.getRestriction();
    }
  }
}

当运行被测类时,编译器退出而不检查任何内容。 不确定如何模拟 ClassesForFallcriteriaBuildercriteriaQuery

的对象

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)