embedded zookeeper for unit/integration test

左心房为你撑大大i 提交于 2019-12-04 01:30:33

The Curator framework has TestingServer and TestingCluster classes (see https://github.com/Netflix/curator/wiki/Utilities) that are in a separate maven artifact (curator-test - see the Maven/Artifacts section of https://github.com/Netflix/curator/wiki).

They're pretty self explanatory, or you can download the curator code base and see how they're used internally in their own test cases.

We've used both successfully within unit tests at $DAY_JOB.

You could use Apache Curator Utilities provided in-process ZooKeeper server TestingServer that can be used for testing. With maven you can dependency as follows

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

And you can create in process zookeeper server as folows

 TestingServer zkServer;

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

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

For testing Cluster use can use TestingCluster, which creates an internally running ensemble of ZooKeeper servers

You could use the zookeeper-maven-plugin, which is documented here.

The zookeeper project produces a "fat-jar" that it uses itself for system test.

There is a written up README, showing how easy it is to launch, but unfortunately it is not being made as an artifact, so cannot be linked to maven.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!