15

是否有嵌入式 zookeeper,以便我们可以在单元测试中使用它?它可以随测试一起发货,开箱即用。也许我们可以模拟一些服务并注册到嵌入式动物园管理员

4

4 回答 4

22

Curator框架具有 TestingServer 和TestingCluster类(请参阅https://github.com/Netflix/curator/wiki/Utilities ),它们位于单独的 Maven 工件(curator-test - 请参阅https://github的 Maven/Artifacts 部分.com/Netflix/curator/wiki)。

它们很容易解释,或者您可以下载 curator 代码库并查看它们如何在自己的测试用例中内部使用。

我们已经在 $DAY_JOB 的单元测试中成功地使用了这两种方法。

于 2012-12-28T18:26:34.380 回答
17

您可以使用Apache Curator Utilities提供的进程内 ZooKeeper 服务器TestingServer,可用于测试。你maven可以依赖如下

    <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-test</artifactId>
        <version>3.2.1</version>
    </dependency>

您可以按如下方式在进程中创建 Zookeeper 服务器

 TestingServer zkServer;

  @Before
  public void setUp() throws Exception
  {
    zkServer = new TestingServer(2181, true);
  }

  @After
  public void tearDown() throws Exception
  {
    zkServer.stop();
  }

用于测试集群使用 can use TestingCluster,它创建了一个内部运行的 ZooKeeper 服务器集合

于 2016-12-12T06:26:30.057 回答
0

您可以使用zookeeper-maven-plugin此处记录了该插件。

于 2015-04-22T15:58:18.030 回答
0

zookeeper 项目会生成一个“fat-jar”,用于系统测试。

有一个书面的README,显示它是多么容易启动,但不幸的是它不是作为工件制作的,因此无法链接到 maven。

于 2015-05-18T23:33:24.813 回答