source optimization

This commit is contained in:
sontolau 2026-03-09 10:47:52 +08:00
parent 2d39197174
commit c247a8f1dc
7 changed files with 20 additions and 12 deletions

View File

@ -17,5 +17,6 @@ class Config:
# HTTP测试配置
HTTP_BASE_URL: str = os.getenv("HTTP_BASE_URL", "http://localhost:8080")
HTTP_TIMEOUT: int = 10
UNIT_KEYWORDS: tuple = ("units", "functions", "apis")
config = Config()

View File

@ -2,7 +2,7 @@ import json
import re
import logging
from openai import OpenAI
from gui_ai_developer.config import config
from config import config
logger = logging.getLogger(__name__)

View File

@ -32,7 +32,7 @@ import json
import re
from typing import Any
from dataclasses import dataclass, field
from config import config
# ══════════════════════════════════════════════════════════════
# 基础数据结构
@ -213,10 +213,17 @@ class InterfaceParser:
description="",
interfaces=self._parse_units(data),
)
units = []
for unit in config.UNIT_KEYWORDS:
if unit not in data:
continue
units = data.get(unit, [])
return ApiDescriptor(
project=data.get("project", "default"),
description=data.get("description", ""),
interfaces=self._parse_units(data.get("units", [])),
interfaces=self._parse_units(units),
)
# ── 单元解析 ──────────────────────────────────────────────

View File

@ -155,8 +155,8 @@ class PromptBuilder:
f"## Available Interfaces\n"
f"{json.dumps(iface_summary, ensure_ascii=False, indent=2)}\n\n"
f"## Test Requirements\n"
f"{req_lines}\n\n"
f"Generate comprehensive test cases (positive + negative) for every requirement.\n"
f"Generate comprehensive test cases (positive + negative) for every interface.\n"
f"- The generated test cases for each interface must meet the following requirements: {req_lines}\n"
f"- For function interfaces: use 'module_path' for import, "
f"'source_file' for reference.\n"
f"- For HTTP interfaces: use 'full_url' as the request URL.\n"

View File

@ -11,7 +11,7 @@ import json
import re
import logging
from pathlib import Path
from gui_ai_developer.config import config
from config import config
logger = logging.getLogger(__name__)

View File

@ -6,7 +6,7 @@ import time
import logging
from pathlib import Path
from dataclasses import dataclass, field
from gui_ai_developer.config import config
from config import config
logger = logging.getLogger(__name__)

View File

@ -1,7 +1,7 @@
#!/usr/bin/env bash
# 安装依赖
pip install -r requirements.txt
# pip install -r requirements.txt
# 设置环境变量
export LLM_API_KEY="sk-AUmOuFI731Ty5Nob38jY26d8lydfDT-QkE2giqb0sCuPCAE2JH6zjLM4lZLpvL5WMYPOocaMe2FwVDmqM_9KimmKACjR"
@ -15,5 +15,5 @@ export HTTP_BASE_URL="http://localhost:8080"
# --requirements "创建用户,自动生成测试数据,更改指定用户的密码,自动生成测试数据"
# 只生成不执行
python main.py --api-desc examples/function_signatures.json \
python main.py --api-desc examples/api_desc.json \
--requirements "1.对每个接口进行测试,支持特殊值、边界值测试"