"""测试数据生成辅助工具。 Usage: from tests.core.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}"