2017-04-27 1 views
1

J'ai un cas impair où j'ai un attribut optionnel, mais si je l'envoie, il nécessite une valeur.Comment choisir d'envoyer un paramètre basé sur une condition?

Donc, normalement, j'aurais quelque chose comme

String valueForParam = ""; 
if(condition == true){ 
    valueForParam = "value"; 
} 
given().request().param("parameter",valueForParam).when().put(URL) 

Mais le problème est dans mon cas si le paramètre est envoyé avec une valeur vide (lorsque la condition est fausse) le service renvoie une erreur.

Je sais que je pourrais faire une instruction if pour appeler un complètement différent() lorsque le paramètre est faux, mais je suis curieux de savoir s'il existe un moyen d'empêcher l'envoi du paramètre lorsque la valeur est vide.

Répondre

1

Utilisation RequestSpecBuilder:

String valueForParam = ""; 
Map<String, String> params = new HashMap<>; 
if(condition == true){ 
    params.put("parameter", "value"); 
} 
RequestSpecification s = new RequestSpecBuilder().addParams(params).build(); 
given().spec(s).when().put(URL);