zurück
Avatar of Yann Spöri
Autor: Yann Spöri
01. Oktober 2019

Testfälle und/oder Testsets mit bestimmtem Tag ausführen

Große Testprojekte können aus mehreren Tausend Testfällen bestehen. Die Testausführung kann beliebig viel Zeit kosten, selbst wenn die Tests auf mehreren virtuellen Maschinen parallel ausgeführt werden.

Für die Erstellung derartig großer Testprojekte bietet es sich also an die Tests in verschiedenen Dateien zu speichern: Zum Beispiel gibt es eine Testsuite, die alle Tests für das Feature A enthält und eine andere, welche alle Tests für das Feature B enthält – nichtsdestotrotz kann es eine gute Idee sein, die verschiedenen Tests mit Tags zu versehen.

Tags wie „Feature 1“, „Feature2“ „SchnelllaufenderTest“, „langsamerTest“, „wichtigerTest“, „oftfehlschlagenderTest“ usw. helfen, dass man nur ein bestimmtes Testset laufen lassen kann und nicht alle durchlaufen müssen. Damit kann man beispielsweise nur die Tests laufen lassen, die mit den Tags „oftfehlschlagenderTest“ und „wichtigerTest“ markiert sind.

Das „Bedingungen“ Feld eines Testfalls/Testsetknotens kann dafür verwendet werden, um Tags zu jedem beliebigen Testfall oder Testset zuzuweisen. Beispielsweise, wenn Sie die folgenden Drei Tags tag1, tag2 und tag3 zu einem Testfall/Testset hinzufügen möchten, können Sie die folgende Syntax verwenden.

"""${default:tagsToExecute:}""" == "" or len(set(["tag1", "tag2", "tag3"]).intersection([x.strip() for x in rc.lookup("tagsToExecute", expand=False).split(",")])) >= 1

Mithilfe dieser Bedingung weißt man QF-Test an den Testfall / den Testfallsatz nur dann auszuführen, wenn eine der folgenden Bedingungen erfüllt ist:

  • Die tagsToExecute Variable ist nicht gesetzt oder leer.
  • Der Testfall/das Testset ist mit einem Tag versehen, das außerdem in der tagsToExecute Variablen gelistet ist. (kommagetrennte Tagliste)

Das bedeutet: Um nur diejenigen Tests auszuführen, die mit dem tag1 versehen sind, muss die tagsToExecute Variable auf tag1 gesetzt sein. Um die auszuführen, die entweder mit dem tag1 oder tag2 versehen sind, muss die tagsToExecute Variable auf tag1, tag2 gesetzt sein. Um die auszuführen, die entweder mit dem tag1, tag2, tag3 versehen sind, muss die tagsToExecute Variable auf tag1, tag2, tag3 gesetzt sein.

Anmerkungen

  • Wenn man QF-Test von einer Kommandozeile her aufruft, ist es möglich die tagsToExecute Variable über das -variable Kommandozeilenargument (z.B. -variable tagsToExecute=tag1, tag2), siehe Kommandozeilenargumente und Rückgabewerte
  • Für eine bessere Lesbarkeit, ist es möglich Leerzeichen vor und nach dem Komma einzufügen. Damit alle Tests mit tag1 oder tag2 ausführen werden, können Sie also die tagsToExecute Variable auf
    tag1,tag2 oder auf
    tag1, tag2 oder sogar auf
    tag1 , tag2 setzen.

Die Kommentarfunktion ist für diesen Artikel deaktiviert.

0 Kommentare