Zum Inhalt

Element <assert>

Zweck: Erzwingt eine boolesche Datenqualitätsinvariante und beendet die Ausführung, wenn sie falsch ist.

Warum: Verwende dieses Element, um die Ausführung bei einer verletzten Invariante auf Setup- oder Datensatzebene zu stoppen.

Beispiel

1
<assert condition="is_working_age"/>

Entscheidungshilfe

Fachlicher Nutzen: Überführt eine Daten- oder Setup-Anforderung in ein hartes ausführbares Quality Gate.

  • Verwenden, wenn

    • Wenn die Ausführung bei einer falschen booleschen Invariante stoppen muss.
  • Anderen Ansatz wählen, wenn

    • Wenn ungültige Zeilen gefiltert oder transformiert werden sollen.
  • Voraussetzungen

    • Gib eine boolesche Bedingung und eine verständliche Fehlermeldung an.
  • Alternativen

    • Verwende sourceConstraints zum Ablehnen einzelner Quellzeilen vor dem Mapping. (Siehe: <sourceConstraints>)
    • Verwende targetConstraints zum Ablehnen fertiger Zeilen vor dem Export. (Siehe: <targetConstraints>)

Vollständige Beispiele

Vor der Erzeugung bei einer verletzten Anforderungsinvariante stoppen

Verwende assert, um eine fachliche Vorbedingung ausführbar zu machen und vor der Ausgabe eines ungültigen Artefakts abzubrechen.

positive-batch-invariant/datamimic.xml
1
2
3
4
5
6
7
<setup>
    <variable name="batch_size" script="3"/>
    <assert condition="batch_size in range(1, 1000000)" message="batch size must be positive"/>
    <generate name="items" count="{batch_size}" target="LogExporter">
        <id name="id" generator="IncrementGenerator"/>
    </generate>
</setup>

Regeln und ungültige Kombinationen

Keine zusätzlichen elementspezifischen Regeln. Pflichtattribute, Typen und unterstützte Werte stehen unten.

Erlaubte Elternelemente / Erlaubte Kindelemente

Erlaubte Elternelemente: else, else-if, generate, if, iterate, nestedKey, setup, while

Erlaubte Kindelemente:

Keine

Attribute

Alle 2 Attribute anzeigen

condition

Boolean expression the record (or setup context) must satisfy.

erforderlich; string.

message

Optional explanation surfaced when the assertion fails.

optional; string; Standardwert: null.