"""测试数据生成与清理辅助工具。 提供常用方法:生成唯一标识、构建测试数据字典、API 层面清理数据。 Usage: from tests.utils.data_helper import generate_order_no, generate_phone order_no = generate_order_no() phone = generate_phone() """ import random import string from datetime import datetime def generate_order_no(prefix: str = "TEST") -> str: """生成唯一订单号。""" ts = datetime.now().strftime("%Y%m%d%H%M%S") rand = "".join(random.choices(string.digits, k=4)) return f"{prefix}{ts}{rand}" def generate_phone() -> str: """生成合法格式的测试手机号(138 开头)。""" suffix = "".join(random.choices(string.digits, k=8)) return f"138{suffix}" def generate_shipment_no(prefix: str = "YB") -> str: """生成运单号(格式: YB + 日期 + 随机数)。""" ts = datetime.now().strftime("%Y%m%d") rand = "".join(random.choices(string.digits, k=6)) return f"{prefix}{ts}{rand}" def generate_unique_id(prefix: str = "id") -> str: """生成通用唯一 ID。""" ts = datetime.now().strftime("%Y%m%d%H%M%S%f") rand = "".join(random.choices(string.ascii_lowercase + string.digits, k=4)) return f"{prefix}_{ts}_{rand}"