我有一个奇怪的情况,我有一个可选属性,但如果我发送它,它需要一个值。
通常情况下,我会有像
这样的东西String valueForParam = "";
if(condition == true){
valueForParam = "value";
}
given().request().param("parameter",valueForParam).when().put(URL)
但问题是在我的情况下,如果参数是以空值发送的(当条件为假时),服务将抛出错误。
我知道当参数为false时我可以创建一个if语句来调用一个完全不同的given(),但是我很好奇是否有一种方法可以在值为空时停止发送参数。 / p>
答案 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);