问题描述
我正在尝试为返回 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();
}
}
}
当运行被测类时,编译器退出而不检查任何内容。
不确定如何模拟 ClassesForFall
、criteriaBuilder
、criteriaQuery
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)