gpt4 book ai didi

Spring在单元测试中嵌入了ldap服务器

转载 作者:行者123 更新时间:2023-12-01 22:17:19 28 4
gpt4 key购买 nike

我目前正在尝试使用嵌入式 ldap 服务器进行单元测试。

在 Spring Security 中,您可以快速定义一个嵌入式 ldap 服务器,以便使用标记以及从指定 ldif 加载的一些示例数据进行测试。

我将使用 Spring Ldap 执行 ldap 操作,并考虑测试我的 User 服务对象的常用 CRUD 功能。

但是,有没有一种方法可以确保嵌入式服务器中的条目对于我运行的每个测试都处于相同的一致状态(有点像删除所有条目并重新加载 ldif 条目)?

我想到了以下几点:1) 表明该方法弄脏了上下文,并强制重新创建嵌入式 ldap 服务器,这听起来很痛苦,因为必须为每个方法重新启动服务器2)在测试组织中创建测试条目,以便我可以解除它们的绑定(bind)并简单地再次加载到ldif文件中。

我更喜欢 2,但 Spring LDAP 似乎没有好的帮助程序来加载和发送 ldif 文件的内容。

关于如何使用 Spring 的嵌入式 LDAP 服务器执行 LDAP 测试,或者我提到的两种可能的解决方案,有什么建议吗?

谢谢

最佳答案

Spring LDAP 不提供围绕 LDAP 操作的事务控制吗?如果是这样,为什么不使用具有自动回滚功能的 Spring 测试框架呢?

我还知道一个 JDBC-LDAP 桥接驱动程序,它包装了 LDAP 存储库,将其呈现为关系数据库。我使用 iBatis 连接到此(我已将其写在 http://lokibear.blogspot.com ,请参阅 7 月的文章)。我还没有尝试应用事务控制,但驱动程序的网站提到了忽略事务的能力(这意味着您也可以忽略它们......对吗?)。

就像我说的,我还没有尝试过这个;但是,如果这提供了围绕 LDAP 的事务,那么您可以再次使用 Spring 测试框架来实现自动回滚。我已经围绕该框架发布了一份快速备忘单 - 请参阅我博客上的 9 月份帖子。

抱歉,我可能无法实现您的目标;但也许这些建议是有用的。祝你好运!

关于Spring在单元测试中嵌入了ldap服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/544550/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com