2017-04-27 79 views
1

我有一個奇怪的情況,我有一個可選的屬性,但如果我確實發送它,它需要一個值。如何根據條件選擇發送參數?

所以一般情況下我有類似

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

但問題是在我的情況下,如果參數發送與空值(當條件爲假),該服務將拋出一個錯誤。

我知道我可以讓一個if語句在參數爲false時調用完全不同的given(),但我很好奇,如果有一種方法可以在值爲空時停止發送參數。

回答

1

使用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);