我正在使用库openldap for c ++来实现一些ldap DB的身份验证和查询。我想为我的代码编写单元测试。
我的问题是,它是否与sql DB一样?例如使用sql,在每个单元测试中你都会做类似的事情:删除测试数据库,创建一个新数据库,添加一些用户,断言你的api ....等等。
总而言之,我想知道编写ldap-db单元测试的惯例。
答案 0 :(得分:0)
如果您正在谈论单元测试,那么您应该模拟您的LDAP API并仅测试您的代码,而不是LDAP API实现。您可以使用Google Mock进行模拟。
但我认为你指的是集成测试,因为适用与数据库集成测试相同的策略。您设置环境 - 启动服务器,填充条目,声明代码对其起作用,然后拆除该环境。
在Java中我会使用内存中的LDAP服务器进行集成测试,您可以尝试找到一个可以嵌入并只能在C / C ++内存中运行的服务器。
请参阅What's the difference between unit, functional, acceptance, and integration tests?。