Junit 如何对ldap模板搜索方法进行单元测试?
我正在编写ldap查询以从电子邮件中搜索用户名,方法如下Junit 如何对ldap模板搜索方法进行单元测试?,junit,mockito,spring-ldap,Junit,Mockito,Spring Ldap,我正在编写ldap查询以从电子邮件中搜索用户名,方法如下 final ContainerCriteria query = ldapQuery(email); var attr = (AttributesMapper<String>) attrs -> attrs .get("uid") .get()
final ContainerCriteria query = ldapQuery(email);
var attr = (AttributesMapper<String>) attrs -> attrs
.get("uid")
.get()
.toString()
LdapQueryBuilder
.query()
.where("objectclass")
.is("person")
.and("mail")
.is(email);
ldapTemplate.search(query, attr);
final ContainerCriteria query=ldapQuery(电子邮件);
var attr=(AttributesMapper)attrs->attrs
.get(“uid”)
.get()
.toString()
LdapQueryBuilder
.query()
.其中(“对象类”)
.is(“人”)
。及(“邮件”)
.is(电子邮件);
ldapTemplate.search(查询、属性);
我需要对这个方法进行单元测试,但因为在AttributesMapper和ContainerCriteria I上没有equals方法
@Test
public void shouldReturnUsername() {
final List<String> user = Arrays.asList("shahg");
final ContainerCriteria containerCriteria = LdapQueryBuilder
.query()
.where("objectclass")
.is("person")
.and("mail")
.is("xyz@abc.com");
var attr = (AttributesMapper<String>) attrs -> attrs
.get("uid")
.get()
.toString()
when(dapTemplate
.search(containerCriteria, (AttributesMapper<String>) attrs -> attrs
.get("uid")
.get()
.toString()));
ldapService.getUsername("xyz@abc.com");
}
@测试
public void shouldReturnUsername(){
最终列表用户=Arrays.asList(“shahg”);
最终集装箱标准集装箱标准=LdapQueryBuilder
.query()
.其中(“对象类”)
.is(“人”)
。及(“邮件”)
.是(”xyz@abc.com");
var attr=(AttributesMapper)attrs->attrs
.get(“uid”)
.get()
.toString()
何时(在模板中)
.search(containerCriteria,(AttributesMapper)属性->属性
.get(“uid”)
.get()
.toString());
ldapService.getUsername(“xyz@abc.com");
}
即使一切都一样,测试还是失败了。我也尝试了ArgumentMatcher,但结果相同