2016-07-11 18 views
3

Ich habe vor kurzem ein neues Projekt eingerichtet, das Spring-Data-Couchbase verwendet, und ich bin völlig ratlos, wie ich Unit- und Integrationstests hier angehen sollte.Unit & Integration Testing mit Couchbase

Normalerweise kann ich mit JPA mein Repository irgendwie ausspionieren (vorausgesetzt, dies ist für Couchbase mit Spring ähnlich) und das ist okay für Komponententests, aber normalerweise für JPA verbinde ich eine in Speicherdatenbank und habe eine vollständige Integrationstestsuite . Gibt es eine Möglichkeit, dies mit couchbase zu tun?

Auch wenn es Ihnen nichts ausmacht, hier irgendwelche Tipps zu nennen, da dies mein erstes großes NoSQL-Projekt ist :) Danke!

Antwort

3

Couchbase läuft leider nicht im Speicher. Für Unit-Tests müssten Sie die API von Couchbase testen. Es gibt ein CouchbaseMock-Projekt, um das zu erleichtern: https://github.com/couchbase/CouchbaseMock

Es gibt auch die Möglichkeit, einen Läufer zu verwenden, bevor Sie Ihren Test starten. Es gibt wahrscheinlich ein Maven-Plugin, mit dem Sie Couchbase oder ein Couchbase-Docker-Bild ausführen können.

+1

Beachten Sie, dass CouchbaseMock eher ein Projekt als ein Produkt ist. Wir bei Couchbase verwenden es für gezielte Tests unserer eigenen, aber wir testen letztendlich auch auf dem echten Server. Es verfügt möglicherweise nicht über alle Funktionen. Pingen Sie uns an, wenn Sie etwas sehen möchten, da wir auch einige andere Komponenten haben. –

+0

@MattIngenthron Immer noch arbeiten, einen vollen Griff auf, wie das Werkzeug funktioniert. Hätten Sie zufällig ein Beispiel oder ein einfaches Referenzprojekt, bei dem ich die Implementierung überprüfen könnte? –

+0

Schauen Sie sich gocb (https://github.com/couchbase/gocb) oder die Verwendung im Python-Client an - https://github.com/couchbase/couchbase-python-client/blob/master/couchbase/tests /base.py#L113 und https://github.com/couchbase/couchbase-python-client/blob/master/couchbase/mockserver.py –