【轻量拓展分析】 - 新增 gfa_core/extension_stage_lightweight/ 核心模块,支持用户上传代码/数据/原始命令 - 前端卡片式交互流程:候选核对 → 验证 → 结果审查 → 授权发布 → 运行 - Celery 不受限任务 + 轮询机制 + sessionStorage 操作恢复 - 启动脚本新增 BBAV5_LIGHTWEIGHT_* 环境变量 【WGS2GWAS 支持】 - 新增 13 个 WGS 阶段定义(QC → MAF/Missing Filter) - email_haplotype_region.py 新增 LTR-RT 分析功能 【结果区域重构】 - 单层折叠 → 三组双层折叠:RNA-seq / 基因家族 / WGS2GWAS - 结果按执行时间排序,保留最新尝试 【物种角色解析增强】 - 新增 _resolve_subfamily_request_species_roles() - 支持 reference 角色的识别 - 直接 stage 请求保留 intent 中的物种角色 【会话 Job 隔离】 - rebind_job() 跨 job 时创建新会话,返回新 conversation_id 【前端交互增强】 - RAG 文献问答模式 - NL 触发 config/samples 自动填写、亚家族确认表、基因家族成员确认表 - 执行状态从后端 resource_tasks 恢复 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
BBAV20311 测试套件
测试结构
tests/
├── conftest.py # pytest配置和fixture
├── unit/ # 单元测试
│ ├── agents/
│ │ └── test_router.py # RouterAgent测试
│ └── skills/
│ └── test_gene_identify.py # 技能测试
├── integration/ # 集成测试
│ └── test_agent_flow.py # Agent协作流程
├── e2e/ # 端到端测试
│ └── test_api.py # API测试
└── fixtures/ # 测试数据
运行测试
安装依赖
pip install -r requirements-test.txt
运行所有测试
./run_tests.sh
运行特定测试
# autofill 入口回归检查;不依赖 pytest,适合当前 test4py311 环境
/home/xia-lab/miniconda3/envs/test4py311/bin/python scripts/check_autofill_regression.py
# subfamily review 证据图 scope/manifest 回归检查
/home/xia-lab/miniconda3/envs/test4py311/bin/python scripts/check_subfamily_evidence_scope.py
# 单元测试
pytest tests/unit -v
# 集成测试
pytest tests/integration -v
# E2E测试(需要服务运行)
pytest tests/e2e -v
# 带覆盖率
pytest tests/ --cov=gfa_core --cov-report=html
测试类型
| 类型 | 速度 | 范围 | 命令 |
|---|---|---|---|
| 单元测试 | 快(<1s) | 单个函数/类 | pytest tests/unit |
| 集成测试 | 中(<10s) | 模块协作 | pytest tests/integration |
| E2E测试 | 慢(<5min) | 完整流程 | pytest tests/e2e |
编写新测试
单元测试示例
import pytest
from gfa_core.mas.agents.router import RouterAgent
@pytest.mark.unit
class TestRouterAgent:
def test_initialization(self):
agent = RouterAgent(mock_llm)
assert agent.name == "router"
集成测试示例
import pytest
@pytest.mark.integration
class TestAgentFlow:
@pytest.mark.asyncio
async def test_full_flow(self):
# 测试完整流程
pass
测试覆盖率目标
- 单元测试: >80%
- 集成测试: 核心流程覆盖
- E2E测试: 关键用户场景