随着人们对于数据获取和分析的需求不断提高,测试数据的生成也变得越来越重要。在数据交互中,常见的数据格式之一是{'key': 'value'}形式的json格式。因此,可以通过json反序列化的方式来生成测试数据。
// 示例 json 数据
{
"name": "李四",
"age": 28,
"hobbies": ["篮球", "游泳", "看电影"],
"contact": {
"email": "lisi@example.com",
"phone": "13200001111"
}
}
// 反序列化生成测试数据
import json
import random
data = json.loads('''
{
"name": "李四",
"age": 28,
"hobbies": ["篮球", "游泳", "看电影"],
"contact": {
"email": "lisi@example.com",
"phone": "13200001111"
}
}
''')
name = data['name'] + '_' + str(random.randint(1, 1000))
age = data['age'] + random.randint(1, 10)
hobbies = data['hobbies']
contact_email = data['contact']['email'].replace('@', '_' + str(random.randint(1, 1000)) + '@')
contact_phone = data['contact']['phone'][:-4] + str(random.randint(1111, 9999))
new_data = {
'name': name,
'age': age,
'hobbies': hobbies,
'contact': {
'email': contact_email,
'phone': contact_phone
}
}
print(new_data)
通过反序列化json数据,可以将其转换为Python中的字典类型,然后根据需求进行修改或添加,最终生成新的测试数据。对于列表和嵌套字典类型的数据,需要进行递归操作。而对于所有类型的数据,都可以使用Python内置的random模块进行随机生成值,进一步增强了测试数据的随机性和覆盖范围。