In meinem Projekt haben wir Stub-Dateien zum Testen von Junits in Java (Fabriken) selbst erstellt. Allerdings müssen wir diese Stubs externalisieren. Nachdem wir eine Reihe von Serialisierern/Deserializern gesehen hatten, entschieden wir uns, XStream zu verwenden, um diese Stub-Objekte zu serialisieren und zu deserialisieren. XStream funktioniert wie ein Charme. Es ist ziemlich gut in dem, was es zu sein behauptet. Zuvor hatten wir eine einzige Fabrikklasse namens AFactory, die alle Stubs produzierte, die zum Testen verschiedener Testfälle benötigt wurden. Wenn wir nun jeden erzeugten Stub externalisieren, treffen wir auf eine Straßensperre. Wir mussten für jeden von der Fabrik produzierten Stub eine XML-Datei erstellen.
Zum Beispielexternalizing junit Stub Objekte
public final class AFactory{
public static A createStub1(){ /*Code here */}
public static A createStub2(){ /*Code here */}
public static A createStub3(){ /*Code here */}
}
, nun diese Stummel auf externe Dateien zu bewegen versucht, wir hatten 1 XML-Datei für jede Stub (A-stub1.xml erstellt zu schaffen, A-stub2.xml und A- stub3.xml). Das Problem mit diesem Ansatz ist, dass es zur Verbreitung von XML-Stub-Dateien führt.
Ich dachte, wie wäre es, alle Stubs in Bezug auf eine einzelne Bean-Klasse in einer einzigen XML-Datei zu speichern.
<?xml version="1.0"?>
<stubs class="A">
<stub id="stub1">
<!-- Here comes the externalized xml stub representation -->
</stub>
<stub id="stub2">
</stub>
</stubs>
Gibt es ein Framework, mit dem Sie alle Stub in XML-Darstellung in einer einzigen XML-Datei wie oben beibehalten können? Oder Was meinst du, sollte der richtige Ansatz sein, um sich daran zu halten?
Werfen Sie einen Blick auf [wire mock] (http://wiremock.org) für Junit-Tests und [stubby-db] (https://www.npmjs.com/package/stubby-db) für Funktion oder Leistung Tests. –