Ken*_*Lai 9 spring spring-security spring-ldap
我目前正在尝试使用嵌入式ldap服务器进行单元测试.
在Spring Security中,您可以快速定义嵌入式ldap服务器,以便使用从指定的ldif加载的一些示例数据对标记进行测试.
我将使用Spring Ldap执行ldap操作,并考虑测试用户服务对象的常用CRUD功能.
但是,有没有办法确保嵌入式服务器中的条目处于相同的一致状态(有点像删除所有并重新加载ldif条目)我正在运行的每个测试?
我想到了以下内容:1)表明该方法污染了上下文,并强制重新创建嵌入式ldap服务器,这听起来很痛苦,因为它必须为每个方法重新启动服务器2)在测试组织中创建测试条目,这样我就可以取消绑定它们,然后再在那里再次加载ldif文件.
我更喜欢2,但似乎Spring LDAP没有好的帮助器来加载和发送ldif文件的内容.
有关如何使用spring的嵌入式ldap服务器或我提到的两种可能解决方案执行ldap测试的任何建议?
谢谢
我可能在这里偏离了轨道,但如果您不测试 LDAP 集成本身,您可以使用模拟对象模拟 LDAP 连接,该对象始终返回您期望的值,以便您的其他单元测试可以完成。
如果您正在测试 LDAP 连接,那么您实际上是在进行集成测试。在这种情况下,最好连接到真正的 LDAP 实现。
小智 4
Spring LDAP 不提供围绕 LDAP 操作的事务控制吗?如果是这样,为什么不使用具有自动回滚功能的 Spring 测试框架呢?
我还知道一个 JDBC-LDAP 桥驱动程序,它包装了 LDAP 存储库,将其呈现为关系数据库。我已经使用 iBatis 来连接到此(我已在http://lokibear.blogspot.com上编写了此内容,请参阅 7 月份的文章)。我还没有尝试应用事务控制,但驱动程序的网站提到了忽略事务的能力(这意味着您也不能忽略它们......对吗?)。
就像我说的,我还没有尝试过这个;但是,如果这提供了围绕 LDAP 的事务,那么您可以再次使用 Spring 测试框架来实现自动回滚。我已经围绕该框架发布了一份快速备忘单 - 请参阅我博客上的 9 月份帖子。
抱歉,我可能无法实现您的目标;但也许这些建议是有用的。祝你好运!
| 归档时间: |
|
| 查看次数: |
14077 次 |
| 最近记录: |