fix(exchange,case_validator),refactor(),feat(model): 解决 Pydantic 模型初始化与变量占位符的类型冲突,优化变量替换逻辑,重构 CaseInfo 模型并引入延迟校验机制
- 引入 SmartInt 和 SmartDict 类型,支持 YAML 占位符与业务类型的自动转换。 - 优化 CaseInfo 互斥校验逻辑,确保 request 与 api_action 二选一。 - 统一使用 Pydantic V2 的 model_config 规范。 - 将变量替换时机提前至模型实例化之前,支持占位符在校验前完成真实值注入, 保证了 int/bool 等字段的类型转换正确性。 - 优化断言渲染时机,支持响应提取值关联。
This commit is contained in:
@@ -10,9 +10,10 @@
|
||||
@desc:
|
||||
"""
|
||||
import logging
|
||||
import os
|
||||
|
||||
import pymysql as MySQLdb
|
||||
|
||||
from commons import settings
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -32,11 +33,11 @@ class DBServer:
|
||||
|
||||
|
||||
db = DBServer(
|
||||
host=settings.db_host, # ip
|
||||
port=settings.db_port, # 端口
|
||||
user=settings.db_user, # 用户名
|
||||
password=settings.db_password, # 密码
|
||||
database=settings.db_database # 库名
|
||||
host=os.getenv("DB_HOST"), # ip
|
||||
port=os.getenv("DB_PORT"), # 端口
|
||||
user=os.getenv("DB_USER"), # 用户名
|
||||
password=os.getenv("DB_PASSWORD"), # 密码
|
||||
database=os.getenv("DB_DATABASE") # 库名
|
||||
)
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
Reference in New Issue
Block a user