【发布时间】:2020-02-10 13:33:59
【问题描述】:
我正在编写一个测试套件,其中包括 ping 具有不同有效负载的 API。以下是示例有效载荷(示例):
{
"param_1" : "value_1",
"param_2" : "value_2",
"param_3" : "value_3",
"param_4" : "value_4",
"param_5" : "value_5",
"location" : {
"region" : "EU"
},
"additional_params" : {
"availability" : "high",
"volume" : "low"
}
}
我在json 文件中写入了上述有效负载,测试套件执行以下操作:
- 读取
json文件并为payload创建一个bean - 发送
POST请求 - 断言响应
现在,我需要使用不同的值组合来测试相同的 API,例如美国地区,低可用性,低容量等。请求有很多其他参数,但只有上述参数发生变化。要对此进行测试,我可以执行以下操作:
- 为每个场景创建一个
json文件 - 只创建一个
json文件,对其进行反序列化并将组合存储到另一个文件中,如下所示:
[
{
"location": {
"region": "US"
},
"additional_params" : {
"availability" : "high",
"volume" : "high"
}
},
{
"location": {
"region": "EU"
},
"additional_params" : {
"availability" : "low",
"volume" : "low"
}
}
]
然后我可以读取这个文件,在每次发送请求之前更新基础对象。
第一种方法的问题是,我最终会得到很多具有 90% 重复内容的文件。对于第二种方法,jackson 是否提供 API 来反序列化基础对象并应用我上面提到的更改?
【问题讨论】:
标签: java json jackson deserialization