Skip to content

tests/e2e 完全无法收集:导入了一批不存在的模块和类 #4

@Zld1994

Description

@Zld1994

问题

pytest tests/e2e 在 collection 阶段直接报 ImportError,整个 e2e 套件无法运行。

根因

tests/e2e/conftest.pytests/e2e/test_performance.py 导入了仓库里不存在的模块/类:

错误导入 状态
from agentManager.engine.checkpoint import CheckpointManager ❌ 类在 agentManager.runtime.task_executor
from agentManager.engine.checkpoint import Checkpoint ❌ 不存在
from agentManager.scheduler.scheduler_engine import SchedulerEngine, TaskSchedule agentManager.scheduler 子包不存在(实际是顶层 scheduler/
from agentManager.scheduler.resource_manager import ResourceManager ❌ 同上
from agentManager.scheduler.conflict_detector import ConflictDetector ❌ 模块不存在
from agentManager.roles.agent_orchestrator import AgentOrchestrator agentManager.roles 子包整体不存在
from agentManager.roles.agent_config import AgentConfigManager ❌ 同上
from agentManager.roles.role_template import RoleTemplateManager ❌ 同上

这些导入指向一个尚未实现/已经被重构掉的架构。

复现

pytest tests/e2e --co -q
# ImportError: cannot import name 'CheckpointManager' from 'agentManager.engine.checkpoint'

解决方案

两条路:

  1. 如果 e2e 是规划中的占位:在 tests/e2e/conftest.py 顶部加 pytest.skip('E2E architecture WIP', allow_module_level=True),并补 README 说明,避免它在 CI 中阻塞。
  2. 如果应该跑:根据当前实际代码修正导入路径:
    • CheckpointManagerfrom agentManager.runtime.task_executor import CheckpointManager
    • from agentManager.scheduler.*from scheduler.* (注意:当前是顶层包)
    • agentManager.roles.* 整个子包需要先实现,再补测试
    • ConflictDetector 需要先实现

影响

  • 严重程度:高(e2e 套件完全失效)
  • 范围:tests/e2e/ (10+ 测试用例)

Metadata

Metadata

Assignees

No one assigned

    Labels

    good-first-issueGood first issue for new contributors

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions