bei der Prüfung von Couchbase Unit-Tests unter Verwendung von ich nicht eine dieser beiden Projekte verwenden, ich habe gerade Mockito verwenden die Couchbase zu verspotten nennt.
Im Idealfall sind alle Ihre Anrufe an Couchbase in DAOs gut gekapselt. Mockito erlaubt mir, das zu liefern, was ich in Bezug auf Json-Payloads usw. erwarte, aber gleichzeitig kann ich Timeout und andere Ausnahmen simulieren.
Als einfaches Beispiel, wo Sie überprüfen, was passiert, wenn Couchbase während einer Hinzufügeoperation eine Ausnahme auslöst, würden Sie Folgendes tun (Ich erwarte eine Laufzeitausnahme, da ich die frühere Ausnahme abfange und erneut einreibe, weil sie nicht wiederherstellbar ist dieses Beispiel):
@Test(expected = RuntimeException.class)
public void testSaveUserFailsOnAddDueToTimeout() {
when(couchbase.incr(anyString(), anyInt())).thenReturn(0L);
when(couchbase.add(anyString(), anyObject())).thenThrow(InterruptedException.class);
this.userDao.saveUser(SOURCE);
}
Sie können die ganze Testklasse sehen hier:
https://github.com/scalabilitysolved/couchbase-java/blob/master/src/test/java/com/scalabilitysolved/couchbase/dao/UserDaoTest.java
Oder das ganze Projekt hier (die eine einfache Couchbase ist/Frühjahr/API Beispiel)
https://github.com/scalabilitysolved/couchbase-java
Das Projekt während offiziell von Couchbase unterstützt ist Geflecht tot aus Java Interessenten für etwa ein Jahr schon wegen dieses Fehlers: https://github.com/couchbase/CouchbaseMock/issues/11. Wenn man einen Eimer nicht öffnen kann, ist der Zweck des Ganzen eher unklar. –