junit - 如何对 ldap 模板搜索方法进行单元测试?
问题描述
我正在编写 ldap 查询以从电子邮件中搜索用户名,方法是这样的
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);
我需要对这个方法进行单元测试,但由于 AttributesMapper 和 ContainerCriteria 上没有 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");
}
即使一切都一样,测试也会失败。我也尝试使用 ArgumentMatcher,但结果相同。
解决方案
推荐阅读
- javascript - 根据初始浏览器请求向服务器发送 JWT 令牌(使用本地存储)
- php - Codeigniter 上的未定义属性 PHP 错误
- pytest - 在 pytest 参数化中恢复上一个示例
- python-3.x - 如何让 Python 3 将外部文件中的随机词注册为变量
- javascript - 迭代自定义应用程序中的所有字段/从单个字段转换代码
- mysql - 在 express 中使用带有 Json 的 MySQL 查询
- android - 在 setOnItemClickListener 上更新适配器数据和 notifydatachange
- r - RStudio中的散点图与ggplot函数
- regex - 列出以两个不同前缀开头的文件 - linux
- java - 构建失败并出现错误无法访问隐藏