Logo de Groovy

[GROOVY] Comment écrire des boucles foreach?

La version pro de SoapUI (c’est à dire SoapUi Ng Pro Ready!API) permet de générer de multiple test à la volée à condition de savoir coder en Groovy.
GROOVY c’est un langage objet orienté objet assez proche de python.
Il est destiné aux plateformes Java. Il n’est donc bien sûr pas limité à SoapUI.

Je vous propose dans cet article de faire un tour rapide sur l’implémentation de boucle for each en Groovy pour les listes ou les tableaux.

Logo de Groovy
Logo de Groovy

1er cas, une simple boucle for.

On crée un tableau et on va afficher chacune des valeurs de ce tableau.

//Création du tableau
def tableauSimple= [ "a", "b" ] ;
//On boucle sur chaque valeur du tableau.
for (maValeur in tableauSimple){
	//Affichage de la valeur du tableau
	log.info(maValeur);
}
//  a 1 
//  a 2

2eme cas: une boucle imbriquée dans une autre boucle.

On crée deux tableaux et on va afficher chacune des valeurs de ces tableaux.
La deuxième boucle étant imbriquée dans la première boucle cela nous donnera toutes les couples (ou tuples) possibles entre le tableau A et le tableau B.

def paramA = [ "a", "b" ] ;
def paramB = [ "1", "2" ] ;
 
for (myParamA in paramA){
	for (myParamB in paramB){
		log.info(myParamA + " " + myParamB);
	}
}
//  a 1 
//  a 2 
//  b 1 
//  b 2

3ème cas : La méthode each des listes.

Pour cet exemple, je vous propose de faire un peu d’objet et d’utiliser la méthode each des listes.
Ce programme, va afficher chaque élément de la liste.

def stringList = ["java", "perl", "python", "ruby", "c#", "cobol",
                   "groovy"] as String[];
 
stringList.each() {langage->log.info(langage); };
// java 
// perl 
// python 
// ruby 
// c# 
// cobol 
// groovy

4ème cas : En utilisant la variable it.

La variable it est le nom de la variable par défaut d’itération.
Si vous ne précisez pas de variable dans l’itération comme l’exemple ci-dessus alors il vous faudra utiliser ‘it’.

def stringList = [ "java", "perl", "python", "ruby", "c#", "cobol",
                   "groovy"];
 
stringList.each() {log.info(it); };
// java 
// perl 
// python 
// ruby 
// c# 
// cobol 
// groovy

5ème cas : Utilisation d’un String comme tableau.

Attention à la façon dont vous déclarez votre tableau.
Si au lieu de déclarer une liste ou une variable vous déclarez un String, groovy va interpréter cela comme un tableau de caractère.
Il itérera donc sur chaque caractère de la chaine de caractères.

String monstring = "JAVA";
monstring.each() {log.info(it); };
// J
// A
// V
// A


Vous pourriez jeter un coup d’œil aux articles suivants:

Sources:

Point d’intérêt de cet article : Groovy Java SoapUI langage programmation boucle foreach

2 commentaires sur « [GROOVY] Comment écrire des boucles foreach? »

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.