Bei akzeptanztest-getriebener Entwicklung formuliert das Team die Tests in der Regel so, dass ein Verhalten erst spezifiziert wird, um dann mit Beispielen unterfüttert zu werden. Wie das allgemein mit dem Robot Framework umgesetzt werden kann, haben wir hier schon früher erörtert. Als ausführbare Spezifikation sollten die automatisierten Tests aber auch für alle Beteiligten verständlich sein, das heißt dass der Test nach Möglichkeit in der Muttersprache geschrieben werden sollte. Das geht bislang mit dem Robot Framework noch nicht, oder doch?Mit einer einfachen Resource-Datei, lässt sich das Manko leicht Beheben. Vollständig gelöst werden sollte das Problem dann mit dem kommenden Robot Framework 2.5 sein.
*** Settings ***
*** Keywords ***
Gegeben ${keyword}
Run Keyword ${keyword}
Sei ${keyword}
Run Keyword ${keyword}
Wenn ${keyword}
Run Keyword ${keyword}
Dann ${keyword}
Run Keyword ${keyword}
Und ${keyword}
Run Keyword ${keyword} |
*** Settings *** *** Keywords ***
Gegeben ${keyword}
Run Keyword ${keyword}
Sei ${keyword}
Run Keyword ${keyword}
Wenn ${keyword}
Run Keyword ${keyword}
Dann ${keyword}
Run Keyword ${keyword}
Und ${keyword}
Run Keyword ${keyword}
Ein Test kann dann sehr lesbar geschrieben werden, wie das Beispiel zeigt:
*** Settings ***
Resource ${RESOURCES}/German-BDD.txt
*** Keyword ***
Verhalten
[Arguments] ${arg1} ${xyz}
Sei dies, und auch ${arg1} noch gegeben
Und das hier ebenso
Wenn dann jenes geschieht
Und folgendes danach
Dann ist diese Situation eingetreten
Und die Daten ${xyz} befinden sich in der Datenbank
Und übrgens, Umlaute und Kommata in Keywords funktionieren auch
| *Test Case* | | *arg1* | *xyz* |
| 1 | Verhalten | 123 | 234 | |
*** Settings ***
Resource ${RESOURCES}/German-BDD.txt *** Keyword ***
Verhalten
[Arguments] ${arg1} ${xyz}
Sei dies, und auch ${arg1} noch gegeben
Und das hier ebenso
Wenn dann jenes geschieht
Und folgendes danach
Dann ist diese Situation eingetreten
Und die Daten ${xyz} befinden sich in der Datenbank
Und übrgens, Umlaute und Kommata in Keywords funktionieren auch
| *Test Case* | | *arg1* | *xyz* |
| 1 | Verhalten | 123 | 234 |
Man beachte, dass sogar Umlaute und Satzzeichen in Keywords funktionieren – sowohl mit Python als auch mit Jython. Ein Fakt, der selbst mich heute angenehm überrascht hat 🙂