Wenn Sie eine Testspezifikation in Concordion schreiben, möchten Sie manchmal die Ausgabe eines Aufrufs in das Skript einschließen. Zum Beispiel möchte ich einen REST-Service testen, indem ich ein neues Objekt auf ihm poste und dann überprüfe, ob das zurückgegebene Objekt eine eigene URI-Zeichenfolge enthält. Unter diesen Umständen halte ich es für richtig, dass das Format der URI-Zeichenfolge im Testskript enthalten ist und nicht in einer Fixture verborgen ist.Verwenden von Variablen in Concordion markdown
Unter der Annahme, dass ein Objekt mit dem Namen newProduct
irgendwie erstellt wurde, würde Ich mag so etwas schreiben:
When I [post a new product](- "#response=post(#newProduct)")<br/>
Then a [product record](- "#product=getContent(#response)") is returned<br/>
and its [id](- "c:set=#productId=getId(#product)") is [ ](- "c:echo=#productId)")<br/>
and its HAL reference matches [products/#productId](- "?=getHalRef(#product)")
Leider ist die variable productId
in der letzten Zeile wird nicht aufgelöst. Welchen Ansatz würdest du empfehlen?
Das geniale ist. Ich arbeite heute an etwas anderem, werde es aber so schnell wie möglich versuchen. Der einzige Unterschied besteht darin, dass 'product' kein String ist, sondern ein POJO (eine Instanz der' Product' Klasse, die aus XML durch eine 'XStream' Instanz konvertiert wurde), so dass die Methode den aktuellen URI zu erhalten Sei anders. –
Das hat wie ein Zauber funktioniert. Danke vielmals! –