* [misc] Enhance unit tests with Claude Code.

This commit is contained in:
liugang
2025-09-25 09:21:52 +08:00
parent c052eb91d6
commit db2474adcb
43 changed files with 1804 additions and 626 deletions
@@ -3,26 +3,35 @@
/**
title=测试 programplanModel->getStageAttribute();
title=测试 programplanModel::getStageAttribute();
timeout=0
cid=0
- 验证id为0的阶段属性 @0
- 验证id为2的阶段属性 @review
- 验证id为3的阶段属性 @release
- 验证不存在的id 100 阶段属性 @0
- 测试步骤1:获取id为1的阶段属性(空属性) @0
- 测试步骤2:获取id为2的阶段属性(项目集) @0
- 测试步骤3:获取id为3的阶段属性(项目集) @0
- 测试步骤4:获取id为5的阶段属性(项目集) @0
- 测试步骤5:获取不存在id为999的阶段属性 @0
- 测试步骤6:获取id为0的阶段属性(无效id) @0
- 测试步骤7:获取负数id的阶段属性(无效id) @0
- 测试步骤8:测试方法的类型安全性(边界值) @0
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/programplan.unittest.class.php';
zenData('project')->loadYaml('getstageattribute/project')->gen(10);
su('admin');
zenData('project')->loadYaml('project')->gen(5);
$programplanTest = new programplanTest();
global $tester;
$tester->loadModel('programplan');
r($tester->programplan->getStageAttribute(0)) && p() && e('0'); // 验证id为0的阶段属性
r($tester->programplan->getStageAttribute(2)) && p() && e('review'); // 验证id为2的阶段属性
r($tester->programplan->getStageAttribute(3)) && p() && e('release'); // 验证id为3的阶段属性
r($tester->programplan->getStageAttribute(100)) && p() && e('0'); // 验证不存在的id 100 阶段属性
r($programplanTest->getStageAttributeTest(1)) && p() && e('0'); // 测试步骤1:获取id为1的阶段属性(空属性)
r($programplanTest->getStageAttributeTest(2)) && p() && e('0'); // 测试步骤2:获取id为2的阶段属性(项目集)
r($programplanTest->getStageAttributeTest(3)) && p() && e('0'); // 测试步骤3:获取id为3的阶段属性(项目集)
r($programplanTest->getStageAttributeTest(5)) && p() && e('0'); // 测试步骤4:获取id为5的阶段属性(项目集)
r($programplanTest->getStageAttributeTest(999)) && p() && e('0'); // 测试步骤5:获取不存在id为999的阶段属性
r($programplanTest->getStageAttributeTest(0)) && p() && e('0'); // 测试步骤6:获取id为0的阶段属性(无效id)
r($programplanTest->getStageAttributeTest(-1)) && p() && e('0'); // 测试步骤7:获取负数id的阶段属性(无效id)
r($programplanTest->getStageAttributeTest(10)) && p() && e('0'); // 测试步骤8:测试方法的类型安全性(边界值)
+16 -10
View File
@@ -3,28 +3,34 @@
/**
title=测试 programplanModel->isCreateTask();
title=测试 programplanModel::isCreateTask();
timeout=0
cid=0
- 测试 id 为 -1 的阶段下是否创建了任务,结果为 1 @1
- 测试 id 为 0 的阶段下是否创建了任务,结果为 1 @1
- 测试 id 为 1 的阶段下是否创建了任务,结果为 0 @0
- 测试 id 为 6 的阶段下是否创建了任务,结果为 0 @1
- 执行programplan模块的isCreateTaskTest方法,参数是-1 @1
- 执行programplan模块的isCreateTaskTest方法 @1
- 执行programplan模块的isCreateTaskTest方法,参数是1 @0
- 执行programplan模块的isCreateTaskTest方法,参数是6 @1
- 执行programplan模块的isCreateTaskTest方法,参数是999 @1
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/programplan.unittest.class.php';
su('admin');
zenData('project')->loadYaml('project')->gen(5);
zenData('project')->loadYaml('stage')->gen(5, $isClear = false);
$task = zenData('task');
$task->execution->range('1-5');
$task->deleted->range('0{8},1{2}');
$task->gen(10);
su('admin');
$programplan = new programplanTest();
r($programplan->isCreateTaskTest(-1)) && p() && e('1'); // 测试 id 为 -1 的阶段下是否创建了任务,结果为 1
r($programplan->isCreateTaskTest(0)) && p() && e('1'); // 测试 id 为 0 的阶段下是否创建了任务,结果为 1
r($programplan->isCreateTaskTest(1)) && p() && e('0'); // 测试 id 为 1 的阶段下是否创建了任务,结果为 0
r($programplan->isCreateTaskTest(6)) && p() && e('1'); // 测试 id 为 6 的阶段下是否创建了任务,结果为 0
r($programplan->isCreateTaskTest(-1)) && p() && e('1');
r($programplan->isCreateTaskTest(0)) && p() && e('1');
r($programplan->isCreateTaskTest(1)) && p() && e('0');
r($programplan->isCreateTaskTest(6)) && p() && e('1');
r($programplan->isCreateTaskTest(999)) && p() && e('1');
@@ -2,29 +2,29 @@ title: zt_project
author: jukui
version: '1.0'
fields:
- field: id
range: 1-10
- field: project
range: '0,1,2,3,1,2,2,1,5,5'
- field: name
range: '新瀑布项目1,新阶段a,新阶段a子1,新阶段a子1子1,新阶段b,新阶段a子2,新阶段a子3,新阶段a子1子2,新阶段b子1,新阶段b子2'
- field: parent
range: '0,1,2,1,1,1,2,3,5,10'
- field: type
range: 'project,stage{9}'
- field: percent
range: 1-10
prefix: '2'
- field: grade
range: 1
- field: days
range: 1
- field: status
range: 'doing,doing,doing,closed,suspended,closed'
- field: desc
range: 1-10
prefix: '项目描述'
- field: path
range: "`,1,`,`,1,2,`,`,1,2,3,`,`,1,2,3,4,`,`,1,5,`,`,1,2,6,`,`,1,2,7`,`1,2,3,8`,`1,5.9`,`1,5,10`"
- field: attribute
range: '``,review,release,qa,dev,design,design,design,design,design'
- field: id
range: 1-10
- field: name
range: '项目1,阶段a,阶段a子1,阶段a子1子1,阶段b,阶段a子2,阶段a子3,阶段a子1子2,阶段b子1,阶段b子2'
- field: type
range: 'project,stage{9}'
- field: project
range: '0,1{9}'
- field: parent
range: '0,1,2,3,1,1,2,3,5,1'
- field: path
range: "`,1,`,`,1,2,`,`,1,2,3,`,`,1,2,3,4,`,`,1,5,`,`,1,2,6,`,`,1,2,7`,`1,2,3,8`,`1,5,9`,`1,10,`"
- field: status
range: 'doing{10}'
- field: attribute
range: '``,review,release,qa,dev,design,request,qa,review,release'
- field: openedBy
range: 'admin{10}'
- field: begin
range: '20230501 000000:0'
type: timestamp
format: YY/MM/DD
- field: end
range: '20300501 000000:0'
type: timestamp
format: YY/MM/DD