Hallo Stefan,
sorry, irgendwie ist uns der Beitrag hier durchgerutscht.
Was wir intern machen, um schnell mal ein Testspreadsheet zu erstellen ist folgendes:
1.Step: StringToFile
productId;price
1;10.99
2;299.99
2. SpreadsheetCSVReader
Dies ist dann dein Testspreadsheet.
Zu deinem Vorschlag:
Mit anderen Worten: Du suchst eine Möglichkeit, wie du einzelne Zellen eines Spreadsheets zu Testzwecken überschreiben / austauschen kannst. Haben wir das richtig verstanden?
Am Beispiel:
existierendes Input Spreadsheet S1:
productID | price |
1 | 10.99
|
2 | 29.99 |
Du möchtest jetzt z.B. aus 29.99 mal eine 299.99 machen, weil du das für dich ein Grenzfall ist, den du in einem nachfolgenden Step testen möchtest?
productID | price |
1 | 10.99 |
2 | 299.99 |
Und um das zu erreichen möchtest du eine möglichst einfache - nennen wir es mal Syntax - um diesen Wert bzw. einzelne Werte auszutauschen.
Korrekt?
Kannst du noch etwas mehr ausführen, wie du das in der Praxis verwendest? Wird das hauptsächlich während der initialen Entwicklung benötigt?
Ist dieses "möglichst schnell herauszufinden" eher eine manuelle Geschichte? D.h. du änderst einen Wert, und schaust dir dann das Mapper Ergebnis an, richtig?
Interessiert dich bei diesem manuellen reinschauen, dann meistens nur ein einzelner Wert?
Wie gehst du bei weiteren Tests vor?
Änderst du wieder etwas, schaust dann rein usw.?
Worauf wir hinaus wollen:
Was du beschreibst klingt quasi nach so etwas wie Unit-Tests beim Programmieren.
Du willst das Ergebnis deiner Funktion für verschiedene Inputs testen.
Nur das du hier einen SpreadsheetMapper hast, der ja quasi pro Spalte eine Funktion darstellt.
Ok, danke für das Beispiel. Das hilft sehr für das Verständnis.
Was du mit deiner Tabelle beschreibst sind eigentlich 3 Testcases.
Menge und Preis sind Input-Werte für den Testcase.
Die Ergebnis-Spalte ist das Ergebnis (actual result).
Jetzt fehlt dir nur noch ein Weg wie du das Ergebnis mit deinem erwarteten Ergebnis vergleichen kannst.
Wir machen uns mal Gedanken, wie man das angehen könnte. Klingt auf jeden Fall hilfreich.
In unseren Köpfen schwebt sowas wie "Mapper Unit-Tests" rum, die man regelmäßig automatisiert ausführen könnte. Damit könnte man auch über lange Sicht ohne aufwändiges manuelles Testen feststellen, ob man einen Mapper evtl. mal durch eine Änderung kaputt gemacht hat.