diff --git a/tests/test_e2e_v27.py b/tests/test_e2e_v27.py index cb4359a..33dcb4e 100644 --- a/tests/test_e2e_v27.py +++ b/tests/test_e2e_v27.py @@ -716,6 +716,22 @@ class TestE9RealAgentDispatch: }) self.data_root = data_root + def _make_ticker(self): + """创建含 Dispatcher + Spawner 的 Ticker""" + from src.blackboard.registry import ProjectRegistry + from src.daemon.dispatcher import Dispatcher + from src.daemon.spawner import AgentSpawner + registry = ProjectRegistry(self.data_root) + dispatcher = Dispatcher(registry) + spawner = AgentSpawner(dry_run=False) + return Ticker( + registry=registry, + tick_interval=30, + max_dispatch_per_tick=3, + dispatcher=dispatcher, + spawner=spawner, + ) + def test_e91_simple_task_agent_execute(self, client): """简单任务 → Agent 执行 → 完成""" tid = _tid() @@ -730,17 +746,8 @@ class TestE9RealAgentDispatch: }) assert resp.status_code == 200 - # 手动触发 tick(走调度) - from src.blackboard.registry import ProjectRegistry - registry = ProjectRegistry(self.data_root) - from src.daemon.dispatcher import Dispatcher - dispatcher = Dispatcher(registry) - ticker = Ticker( - registry=registry, - tick_interval=30, - max_dispatch_per_tick=3, - dispatcher=dispatcher, - ) + # 手动触发 tick(走调度 + spawn) + ticker = self._make_ticker() result = asyncio.run(ticker.tick()) # 验证 tick 结果有调度 @@ -774,16 +781,7 @@ class TestE9RealAgentDispatch: }) assert resp.status_code == 200 - from src.blackboard.registry import ProjectRegistry - registry = ProjectRegistry(self.data_root) - from src.daemon.dispatcher import Dispatcher - dispatcher = Dispatcher(registry) - ticker = Ticker( - registry=registry, - tick_interval=30, - max_dispatch_per_tick=3, - dispatcher=dispatcher, - ) + ticker = self._make_ticker() result = asyncio.run(ticker.tick()) db_path = self.data_root / self.pid / "blackboard.db"