Assert-Funktionen
Mit Hilfe sogenannter Assert-Funktionen (Asserts) können Sie auf einfache Weise überprüfen, ob die Reaktion des Prüflings der erwarteten Reaktion entspricht. Dadurch können Sie den Unittest implizit auf das Prüfergebnis reagieren lassen.
Jede Assert-Funktion liefert ein Ergebnis der Prüfung als BOOL zurück, wobei TRUE
eine erfolgreiche Prüfung und FALSE
eine fehlgeschlagene Prüfung bedeutet. Optional können Sie einen Fehlertext definieren, der im Fehlerfall als Meldung ausgegeben wird.
Um mehrere verschiedene Bedingungen hintereinander zu prüfen, wird typischerweise je Bedingung ein Assert-Aufruf als einzelnes Statement verwendet. Wenn die die Bedingung eines Assert-Aufrufs nicht zutrifft, werden die Fehlerausgänge des Testbausteins automatisch entsprechend beschrieben und die folgenden Assert-Aufrufe nicht mehr ausgeführt.
Manchmal kann es auch sinnvoll sein, zusammengesetzte Bedingungen in Asserts zu verwenden, beispielsweise wenn der Kontrollfluss der Testlogik von mehreren Bedingungen abhängig sein muss. Die einzige korrekte Art, eine zusammengesetzte Bedingung mit Asserts zu erstellen, ist die Verwendung der AND_THEN
-Anweisung.
IF (Assert_Bool_IsTrue(^THIS, value1, "") AND_THEN Assert_Bool_IsFalse(^THIS, value2, "")) THEN // do something END_IF
Wichtig
Wenn Sie einen Testbaustein vom Typ ETrigA
verwenden und Assert-Funktionen nutzen wollen, müssen Sie beim Testbaustein die fehlenden Schnittstellen HandleAssertResult
und HasError
implementieren. Dies erfolgt über den Kontextbefehl Schnittstellen implementieren. Prüfen Sie weiterhin, den Testbaustein direkt auf das Schema TM.Testcase
umzustellen.
Für weitere Informationen siehe: Obsolete Testbaustein-Implementierungen
Asserts for Bool
Name | Beschreibung |
---|---|
| Erfolgreich, wenn der tatsächliche Wert ( |
| Erfolgreich, wenn der tatsächliche Wert ( |
| Erfolgreich, wenn der tatsächliche ( |
| Erfolgreich, wenn der tatsächliche ( |
Asserts für numerische Datentypen
Name (*) | Beschreibung |
---|---|
| Erfolgreich, wenn der tatsächliche Wert ( |
| Erfolgreich, wenn der tatsächliche Wert ( |
| Erfolgreich, wenn der tatsächliche Wert ( |
| Erfolgreich, wenn der tatsächliche Wert ( |
| Erfolgreich, wenn der tatsächliche Wert ( |
| Erfolgreich, wenn der tatsächliche Wert ( |
(*) Beim Namen muss der Platzhalter TYPE
mit dem Standard-IEC-Datentyp der nachfolgenden Tabelle ersetzt werden
| IEC-Datentyp |
| IEC-Datentyp |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Asserts für String
Name | Beschreibung |
---|---|
| Erfolgreich, wenn der tatsächliche String ( |
| Erfolgreich, wenn der tatsächliche String ( |
| Erfolgreich, wenn der tatsächliche String ( |
| Erfolgreich, wenn der tatsächliche String ( |
| Erfolgreich, wenn der tatsächliche String ( |
| Erfolgreich, wenn der tatsächliche String ( |
Asserts für WString
Name | Beschreibung |
---|---|
| Erfolgreich, wenn der tatsächliche Wert ( |
| Erfolgreich, wenn der tatsächliche Wert ( |
| Erfolgreich, wenn der tatsächliche WString ( |
| Erfolgreich, wenn der tatsächliche WString ( |
Asserts für Array
Die Menge der angebotenen Assert-Funktionen ist für bestimmte Datentypen eingeschränkt:
Datums- und Zeittypen: Keine Array-Assert-Funktionen vorhanden
BOOL: Vollständiger Satz von Array-Assert-Funktionen außer
ContainsOneOf
,ContainsAllOf
,ContainsNoneOf
.String, Integer, Fließkommatypen: Vollständiger Satz von Array-Assert-Funktionen (wie folgt).
Beispiel: Vollständiger Satz von Assert-Funktionen für STRING
-Arrays
Name | Beschreibung |
---|---|
| Erfolgreich, wenn alle folgenden Bedingungen erfüllt sind:
|
| Erfolgreich, wenn mindestens eine der folgenden Bedingungen nicht erfüllt ist:
|
| Erfolgreich, wenn der STRING |
| Erfolgreich, wenn der STRING |
| Erfolgreich, wenn mindestens ein Element des |
| Erfolgreich, wenn im |
| Erfolgreich, wenn alle Elemente des |
| Erfolgreich, wenn alle folgenden Bedingungen erfüllt sind:
|