Wie zu verwenden, wenn die else-Anweisung mit Groovy?
ich bin mit einem groovigen Schritt mit Soapui.
Der folgende code funktioniert gut, aber es scheint so lang und wiederholend:
if(response.comp.type[3] == "value1")
log.info ("value1 is present")
else
log.info ("value1 is not present")
if(response.comp.bucket[3] == null)
log.info ("bucket = null")
else
log.info ("bucket is not null")
if(response.comp.cycle[3] == "new")
log.info ("settings cycle = new")
else
log.info ("settings cycle is null")
Ist es möglich, die gleiche in einem test, anstatt zu wiederholen, die IF und ELSE in jeder Zeile.
ich habe versucht mit TRY CATCH, aber ich kann nicht über den stack-trace des Fehlers.
Kann mir jemand helfen, reduzieren den code.
Danke
- Als pro-Beispiele, Antworten und Kommentare, ich bin auf der Suche nach diesem schwer zu verallgemeinern, scheint, wie jeden Fall ziemlich spezifisch.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als die Felder sind alle anderen, die Sie noch tun müssen, jede Kontrolle, sondern eine prägnante form wäre:
Mit ein wenig mehr Aufwand könnte man reduzieren überschneidungen, aber auf die Gefahr hin, den code schwieriger zu Lesen. E. g.
Wie Sie sehen können, in diesem Fall zumindest die zweite form ist schwerer zu Lesen.
ich weiß nicht, wenn dies Ihrer Präferenz, aber Sie können
switch
anstatt eine langeif..else
Aussage wie:wo
x
ist der Wert, den Sie zuweisen, um es. und das gleiche tun fürresponse.comp.bucket[]
undresponse.comp.cycle[]
Bearbeiten
Habe ich geändert, der code, deklariert x als Inhaber der Antwort.comp.geben Sie[3] und prüft, ob es die "Wert1".
response.comp.try[x]
ist, dass der Wert hängt davon ab, was Sie in Sie setzen. basierend auf Ihrem Beispiel haben Sieresponse.comp.type[3]
dann haben Sie zu setzen, dass in der switch-Anweisung wieswitch(response.comp.type[3])