当先锋百科网

首页 1 2 3 4 5 6 7

随着人们对于数据获取和分析的需求不断提高,测试数据的生成也变得越来越重要。在数据交互中,常见的数据格式之一是{'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反序列化生成测试数据

通过反序列化json数据,可以将其转换为Python中的字典类型,然后根据需求进行修改或添加,最终生成新的测试数据。对于列表和嵌套字典类型的数据,需要进行递归操作。而对于所有类型的数据,都可以使用Python内置的random模块进行随机生成值,进一步增强了测试数据的随机性和覆盖范围。