diff --git a/module/execution/test/model/getbyid.php b/module/execution/test/model/getbyid.php
index 72bd0f7bc6..8e87d38ad8 100755
--- a/module/execution/test/model/getbyid.php
+++ b/module/execution/test/model/getbyid.php
@@ -1,34 +1,93 @@
#!/usr/bin/env php
id->range('1-5');
-$execution->name->range('项目1,项目2,迭代1,迭代2,迭代3');
-$execution->type->range('project{2},sprint,waterfall,kanban');
-$execution->status->range('doing{3},closed,doing');
-$execution->parent->range('0,0,1,1,2');
-$execution->grade->range('2{2},1{3}');
-$execution->path->range('1,2,`1,3`,`1,4`,`2,5`')->prefix(',')->postfix(',');
-$execution->begin->range('20230102 000000:0')->type('timestamp')->format('YY/MM/DD');
-$execution->end->range('20230212 000000:0')->type('timestamp')->format('YY/MM/DD');
-$execution->gen(5);
-su('admin');
/**
-title=executionModel->getByID();
+title=测试 executionModel::getByID();
timeout=0
-cid=1
+cid=0
-- 根据executionID查找任务详情属性name @迭代1
-- 根据executionID查找任务详情并替换图片链接属性name @迭代1
-- 查询存在的执行 @0
+- 执行executionTest模块的getByIDTest方法,参数是3
+ - 属性name @迭代1
+ - 属性type @sprint
+ - 属性status @doing
+- 执行executionTest模块的getByIDTest方法,参数是999 @0
+- 执行executionTest模块的getByIDTest方法 @0
+- 执行executionTest模块的getByIDTest方法,参数是8
+ - 属性name @延迟执行
+ - 属性delay @680
+- 执行executionTest模块的getByIDTest方法,参数是3, true
+ - 属性name @迭代1
+ - 属性desc @包含
的描述
+- 执行executionTest模块的getByIDTest方法,参数是3
+ - 属性name @迭代1
+ - 属性totalHours @240
+- 执行executionTest模块的getByIDTest方法,参数是3
+ - 属性name @迭代1
+ - 属性isParent @1
*/
-$execution = new executionTest();
-r($execution->getByIDTest(3)) && p('name') && e('迭代1'); // 根据executionID查找任务详情
-r($execution->getByIDTest(3, true)) && p('name') && e('迭代1'); // 根据executionID查找任务详情并替换图片链接
-r($execution->getByIDTest(6)) && p() && e('0'); // 查询存在的执行
+include dirname(__FILE__, 5) . '/test/lib/init.php';
+include dirname(__FILE__, 2) . '/lib/execution.unittest.class.php';
+
+// 准备execution测试数据
+$execution = zenData('project');
+$execution->id->range('1-10');
+$execution->name->range('项目1,项目2,迭代1,迭代2,迭代3,子迭代1,子迭代2,延迟执行,已完成执行,挂起执行');
+$execution->type->range('project{2},sprint,waterfall,kanban,sprint{5}');
+$execution->status->range('doing{3},closed,doing,suspended,done,doing{3}');
+$execution->parent->range('0,0,1,1,2,3,3,0,0,0');
+$execution->grade->range('2{2},1{8}');
+$execution->path->range('1,2,`1,3`,`1,4`,`2,5`,`1,3,6`,`1,3,7`,8,9,10')->prefix(',')->postfix(',');
+$execution->begin->range('20230102 000000:0')->type('timestamp')->format('YY/MM/DD');
+$execution->end->range('20230212 000000:0,20230212 000000:0,20220101 000000:0,20230212 000000:0,20230212 000000:0,20230212 000000:0,20230212 000000:0,20220101 000000:0,20230212 000000:0,20230212 000000:0')->type('timestamp')->format('YY/MM/DD');
+$execution->estimate->range('100,200,150,300,250,180,120,400,350,280');
+$execution->consumed->range('50,120,80,180,150,90,60,200,350,140');
+$execution->left->range('50,80,70,120,100,90,60,200,0,140');
+$execution->days->range('10,15,12,20,18,14,10,25,22,16');
+$execution->desc->range('描述1,描述2,包含
的描述,描述4,描述5,描述6,描述7,描述8,描述9,描述10');
+$execution->deleted->range('0{10}');
+$execution->gen(10);
+
+// 准备team测试数据以测试工时计算
+$team = zenData('team');
+$team->id->range('1-15');
+$team->root->range('3{3},4{2},6{2},8{3},9{2},10{3}');
+$team->type->range('execution{15}');
+$team->account->range('admin,user1,user2,admin,user1,user3,user4,admin,user1,user2,admin,user1,user2,user3,user4');
+$team->days->range('10{15}');
+$team->hours->range('8{15}');
+$team->gen(15);
+
+// 准备user测试数据
+$user = zenData('user');
+$user->id->range('1-10');
+$user->account->range('admin,user1,user2,user3,user4,user5,user6,user7,user8,user9');
+$user->deleted->range('0{10}');
+$user->gen(10);
+
+su('admin');
+
+$executionTest = new executionTest();
+
+// 测试步骤1:正常获取存在的执行信息
+r($executionTest->getByIDTest(3)) && p('name,type,status') && e('迭代1,sprint,doing');
+
+// 测试步骤2:测试不存在的执行ID
+r($executionTest->getByIDTest(999)) && p() && e('0');
+
+// 测试步骤3:测试边界值ID为0
+r($executionTest->getByIDTest(0)) && p() && e('0');
+
+// 测试步骤4:测试延迟执行的延迟计算功能(延迟680天)
+r($executionTest->getByIDTest(8)) && p('name,delay') && e('延迟执行,680');
+
+// 测试步骤5:测试图片链接替换功能
+r($executionTest->getByIDTest(3, true)) && p('name,desc') && e('迭代1,包含
的描述');
+
+// 测试步骤6:测试团队工时计算功能
+r($executionTest->getByIDTest(3)) && p('name,totalHours') && e('迭代1,240');
+
+// 测试步骤7:测试父级执行检查
+r($executionTest->getByIDTest(3)) && p('name,isParent') && e('迭代1,1');
\ No newline at end of file