Files
PlantAI-dev/tests
potaserandClaude Opus 5 e641c8b9ab feat: 轻量拓展分析 + WGS2GWAS 阶段支持 + 结果区域重构 + 物种角色解析增强 + 会话 Job 隔离
【轻量拓展分析】
- 新增 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>
2026-08-05 09:40:45 +08:00
..
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00

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测试: 关键用户场景