Skip to content

Entwicklung

Falls neue Schritte benötigt werden. Können diese relativ simple erweitert werden. Ebenso wird hier beschrieben, wie die CLI funktioniert bzw. lokal ein Test ausgeführt werden kann.

Steps

Um einen Step zu entwickeln, muss zunächst die Struktur der yaml definiert sein. Anschließend kann der Step, Converter und Executor entwickelt werden.

Yaml Sturktur

In der yaml Struktur geht es hauptsächlich um den step: Bereich. Grundsätzliche haben alle Steps immer name und type. Alle weiteren Attribute sind individuell.

Im Beispiel, wird eine ObjGuid des Geschäfts sowie typeKey benötigt. unter fields lassen dich die Felder als Attribute und der Wert direkt mitgeben.

dev-new-step-yml

Step

Sofern die Struktur bekannt ist, können die Attribute in der Klasse übernommen werden. Dabei muss die Schnittstelle IStep implementiert werden

dev-new-step

Converter

Im Converter findet die Übersetzung der yaml in die Klassen statt. Ebenso wie eine Validierung mit Exceptionhandling über die Konvertierung in die richtigen Datentypen. \ Hier kann auch definiert werden, welche Attribute Pflicht sind und welche optional.

dev-new-stepconverter

Executor

Zunächst muss im Executor, das Execute mit dem neuen Step definiert werden.

dev-new-stepexecutor-interface

Anschliessend kann die Logik implementiert werden

dev-new-stepexecutor

CLI

Die CLI wird hauptsächlich zu automatisierten Ausführung und anderen Funktionalitäten genutzt. Man kann diese aber auch lokal nutzen. Vorausgesetzt die richtige Datenbank ist local vorhanden.

Help

Wie bei CLIs bekannt, gibt es die Hilfe Funktion. Diese listet die möglichen Funktionalitäten auflistet auf und beschreibt diese.

CLI-run-help

Run

Zur Ausführung der Test wird das Kommando "run" genutzt. Wird diese ohne weitere Optionen gestartet, werden alle Testcases im Unterordner Testcases, welche keine "Sample" im Dateinamen haben ausgeführt.

Um nicht immer alle Tests auszuführen, kann ein einzelner Test mit -tc und name des Testcases alleine ausgeführt werden.

CLI-run-help

Result

Das Ergebnis wird in einer Tabellenstruktur ausgegeben und ebenfalls im Projektordner in die Datei Summer.md geschrieben. Diese wird in der Action als Result ausgeben.

CLI-run-result.png

Sample

Zu jedem Step sollte als Beispiel eine Sample yaml im Ordner Testcases erstellt werden.

SampleStep.PNG

Testing

Parser Test

Jeder Step sollte in der Yaml Datei Sample.yml als eigener Schritt hinzugefügt werden. Dort wird der Converter getestet ob der Parser die Struktur einlesen kann.

Sample.PNG

Unit Test

Sofern notwendig, sollten Logik Tests als Unit Test aufgebaut werden.

Doku

Die Dokumentation zu den Steps soll um die Neue erweitern werden.