unit-testing - 如何在 golang 中模拟 Zookeeper 服务器进行单元测试?

标签 unit-testing go apache-zookeeper

我正在使用图书馆 gozk将我的应用程序与生产 zookeeper 服务器连接起来。我想测试应用程序是否创建了正确的节点,它们是否包含各种情况下的正确内容,以及 DataWatch 和 NodeWatch 是否设置正确:

应用程序根据节点和数据更新执行应执行的操作。

我能否拥有一个仅在单元测试期间创建和销毁的模拟 zookeeper 服务器,并且能够人为地创建新节点并设置节点内容? 除了手动创建 zookeeper 服务器并使用它之外,还有其他方法吗?

java 的解决方案已经存在

最佳答案

我建议将您调用 zookeeper 的代码变成一个接口(interface)。

然后在测试期间,你在一个“mockZookeeperConn”对象中进行子操作,该对象只返回值,就好像它真的连接到服务器一样(但返回值是硬编码的)

关于unit-testing - 如何在 golang 中模拟 Zookeeper 服务器进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42096675/

相关文章:

c# - Rhino mock stub 与期望,总是选择第一个,为什么?

unit-testing - 单元测试 : mock document used by an imported TypeScript dependency?

postgresql - 当我在 db(这里是 postgres)中的结构未知时,如何检索 GoLang 数据库/sql 中的值?

regex - 我如何在 Go 中使用/访问捕获组?

unit-testing - JSON 路径没有值

unit-testing - JaCoCo 的分支覆盖,IntelliJ 的 Emma

git - 如何使用语义版本构建 Go Module?

java - 我需要我的 Spring Boot Web 应用程序在 JUnit 中重新启动

python - 动物园管理员锁保持锁定状态

java - 如何在带有 Zookeeper 和 ActiveMQ 的集群环境中使用 Apache Camel