Meine Frage ist:
Wie richte ich in JUnit XML-Daten für mein System Under Test (SUT) ein, ohne dass das SUT aus einer physisch im Dateisystem gespeicherten XML-Datei liest?
Hintergrund :
Ich habe eine XML-Datei erhalten, die Regeln für die Erstellung einer Rechnung enthält. Meine Aufgabe ist es, diese Regeln von XML in Java-Objekte zu konvertieren, z.B. Wenn es in meiner XML-Datei ein Tag wie unten gibt, das angibt, dass die Transaktion nach einem Zeitraum von 30 Tagen nicht in Rechnung gestellt werden kann
<ExpirationDay>30</ExpirationDay>
dies wird in eine Java-Klasse umgewandelt, z. B. ExpirationDateInvoicingRule
Ich habe eine Klasse InvoiceConfiguration, die die XML-Datei nehmen und die *InvoicingRule-Objekte erstellen sollte. Ich denke an die Verwendung von StAX zum Parsen des XML-Dokuments in InvoiceConfiguration
Problem:
Ich möchte InvoiceConfiguration als Einheit testen. Aber ich möchte nicht, dass InvoiceConfiguration aus einer xml-Datei liest, die sich physisch im Dateisystem befindet. Ich möchte, dass mein Unit-Test unabhängig von einer physisch gespeicherten Xml-Datei ist. Ich möchte eine Xml-Darstellung im Speicher erstellen. Aber ein StAX Parser nimmt nur FileReader (oder ich kann mit dem File Object spielen)