如何根据条件选择发送参数?

时间:2017-04-27 12:50:46

标签: rest-assured

我有一个奇怪的情况,我有一个可选属性,但如果我发送它,它需要一个值。

通常情况下,我会有像

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

但问题是在我的情况下,如果参数是以空值发送的(当条件为假时),服务将抛出错误。

我知道当参数为false时我可以创建一个if语句来调用一个完全不同的given(),但是我很好奇是否有一种方法可以在值为空时停止发送参数。 / p>

1 个答案:

答案 0 :(得分:2)

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