Czy jest zainstalowany wbudowany zookeeper, abyśmy mogli go użyć w testach jednostkowych? Może być wysyłany wraz z testem i wybiegać z pudełka. Może moglibyśmy drwić jakąś usługę i zarejestrować się do wbudowanego HecaWbudowany zookeeper do testu urządzenia/integracji
Odpowiedz
Ramy Curator ma TestingServer i TestingCluster klas (patrz https://github.com/Netflix/curator/wiki/Utilities), które znajdują się w oddzielnym artefaktu maven (kurator-TEST - patrz rozdział Maven/artefakty https://github.com/Netflix/curator/wiki).
Są całkiem zrozumiałe lub można pobrać bazę kodów kuratorów i sprawdzić, w jaki sposób są używane wewnętrznie we własnych przypadkach testowych.
Z powodzeniem używaliśmy obydwu testów jednostkowych w dniu $ DAY_JOB.
Można użyć numeru zookeeper-maven-plugin, który jest udokumentowany jako here.
Projekt zookeeper produkuje "pojemnik na tłuszcz", który sam wykorzystuje do testu systemu.
Istnieje napisane README, pokazujące, jak łatwo jest uruchomić, ale niestety nie jest wykonane jako artefakt, więc nie można go powiązać z maven.
Można użyć Apache Curator Utilities dostarczonego w trakcie procesu serwera ZooKeeper TestingServer
, który może być używany do testowania. Z maven
można zależnościami następująco
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-test</artifactId>
<version>3.2.1</version>
</dependency>
I można stworzyć serwer Heca procesu jako folows
TestingServer zkServer;
@Before
public void setUp() throws Exception
{
zkServer = new TestingServer(2181, true);
}
@After
public void tearDown() throws Exception
{
zkServer.stop();
}
Do stosowania badania klastrów mogą korzystać TestingCluster
, który tworzy wewnętrznie działa zespół serwerów Heca