#!/usr/bin/env php loadYaml('zt_testtask_assigntesttaskvars', false, 2)->gen(10); // 3. 用户登录(选择合适角色) su('admin'); // 4. 创建测试实例(变量名与模块名一致) $executionTest = new executionZenTest(); // 5. 构造测试数据 global $lang; if(!isset($lang->trunk)) $lang->trunk = 'trunk'; $tasksNormal = array(); for($i = 1; $i <= 10; $i++) { $task = new stdClass(); $task->id = $i; $task->product = ($i <= 4) ? 1 : (($i <= 8) ? 2 : 3); $task->status = ($i <= 3) ? 'wait' : (($i <= 6) ? 'doing' : (($i <= 8) ? 'blocked' : 'done')); $task->build = ($i <= 3) ? 'trunk' : 'v1.0'; $task->buildName = ($i <= 3) ? '' : '版本1.0'; $tasksNormal[] = $task; } $tasksSingle = array(); $task1 = new stdClass(); $task1->id = 1; $task1->product = 1; $task1->status = 'wait'; $task1->build = 'v1.0'; $task1->buildName = '版本1.0'; $tasksSingle[] = $task1; $task2 = new stdClass(); $task2->id = 2; $task2->product = 1; $task2->status = 'doing'; $task2->build = 'trunk'; $task2->buildName = ''; $tasksSingle[] = $task2; $tasksMultiProduct = array(); for($i = 1; $i <= 6; $i++) { $task = new stdClass(); $task->id = $i; $task->product = ($i <= 2) ? 1 : (($i <= 4) ? 2 : 3); $task->status = 'wait'; $task->build = 'v1.0'; $task->buildName = '版本1.0'; $tasksMultiProduct[] = $task; } $tasksTrunk = array(); $taskTrunk = new stdClass(); $taskTrunk->id = 1; $taskTrunk->product = 1; $taskTrunk->status = 'wait'; $taskTrunk->build = 'trunk'; $taskTrunk->buildName = ''; $tasksTrunk[] = $taskTrunk; // 6. 必须包含至少5个测试步骤 r($executionTest->assignTesttaskVarsTest($tasksNormal)) && p('waitCount,testingCount,blockedCount,doneCount') && e('3,3,2,2'); // 步骤1:正常情况状态统计 r($executionTest->assignTesttaskVarsTest(array())) && p('waitCount,testingCount,blockedCount,doneCount') && e('0,0,0,0'); // 步骤2:空数组处理 r($executionTest->assignTesttaskVarsTest($tasksSingle)) && p('waitCount') && e('1'); // 步骤3:单一产品任务计数 r($executionTest->assignTesttaskVarsTest($tasksMultiProduct)) && p('waitCount') && e('6'); // 步骤4:多产品任务计数 r($executionTest->assignTesttaskVarsTest($tasksTrunk)) && p('waitCount') && e('1'); // 步骤5:trunk版本处理验证