znt/module/testcase/test/tao/insertsteps.php

81 lines
3.7 KiB
PHP
Raw Permalink Normal View History

#!/usr/bin/env php
<?php
/**
title=测试 testcaseTao::insertSteps();
timeout=0
cid=19049
- 测试插入基础步骤(简单步骤类型) @1,2,3
- 测试插入层级结构步骤(组+项目+步骤) @4,5,6
- 测试插入复杂层级结构(多层组和项目嵌套) @7,8,9,10,11,12
- 测试插入包含空步骤的数据跳过空步骤仍然连续ID @13,14,15
- 测试插入指定版本号的步骤 @16,17
- 测试插入只有组类型的步骤 @18,19
- 测试边界情况(空数组) @0
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/tao.class.php';
zenData('user')->gen('1');
zenData('case')->gen('0');
zenData('casestep')->gen('0');
su('admin');
// 准备测试数据
$caseIdList = array(1, 2, 3, 4, 5, 6, 7, 8);
// 测试数据1基础步骤简单步骤类型
$steps1 = array('1' => 'step1', '2' => 'step2', '3' => 'step3');
$expects1 = array('1' => 'expect1', '2' => 'expect2', '3' => 'expect3');
$stepTypes1 = array('1' => 'step', '2' => 'step', '3' => 'step');
// 测试数据2层级结构步骤组+项目+步骤)
$steps2 = array('1' => 'group1', '1.1' => 'group1.1', '1.1.1' => 'item1.1.1');
$expects2 = array('1.1.1' => 'expect1.1.1');
$stepTypes2 = array('1' => 'group', '1.1' => 'group', '1.1.1' => 'item');
// 测试数据3复杂层级结构
$steps3 = array('1' => 'group1', '1.1' => 'group1.1', '1.1.1' => 'item1.1.1', '2' => 'group2', '2.1' => 'item2.1', '3' => 'step3');
$expects3 = array('1.1.1' => 'expect1.1.1', '2.1' => 'expect2.1', '3' => 'expect3');
$stepTypes3 = array('1' => 'group', '1.1' => 'group', '1.1.1' => 'item','2' => 'group', '2.1' => 'item', '3' => 'step');
// 测试数据4包含空步骤的数据
$steps4 = array('1' => 'step1', '2' => '', '3' => 'step3', '4' => 'step4');
$expects4 = array('1' => 'expect1', '3' => 'expect3', '4' => 'expect4');
$stepTypes4 = array('1' => 'step', '2' => 'step', '3' => 'step', '4' => 'step');
// 测试数据5指定版本号的步骤
$steps5 = array('1' => 'version2_step1', '2' => 'version2_step2');
$expects5 = array('1' => 'version2_expect1', '2' => 'version2_expect2');
$stepTypes5 = array('1' => 'step', '2' => 'step');
// 测试数据6只有组类型的步骤
$steps6 = array('1' => 'group1', '2' => 'group2');
$expects6 = array('1' => 'should_be_ignored', '2' => 'should_be_ignored');
$stepTypes6 = array('1' => 'group', '2' => 'group');
// 测试数据7空数组边界情况
$steps7 = array();
$expects7 = array();
$stepTypes7 = array();
$testcase = new testcaseTaoTest();
r($testcase->insertStepsTest($caseIdList[0], $steps1, $expects1, $stepTypes1)) && p() && e('1,2,3'); // 测试插入基础步骤(简单步骤类型)
r($testcase->insertStepsTest($caseIdList[1], $steps2, $expects2, $stepTypes2)) && p() && e('4,5,6'); // 测试插入层级结构步骤(组+项目+步骤)
r($testcase->insertStepsTest($caseIdList[2], $steps3, $expects3, $stepTypes3)) && p() && e('7,8,9,10,11,12'); // 测试插入复杂层级结构(多层组和项目嵌套)
r($testcase->insertStepsTest($caseIdList[3], $steps4, $expects4, $stepTypes4)) && p() && e('13,14,15'); // 测试插入包含空步骤的数据跳过空步骤仍然连续ID
r($testcase->insertStepsTestWithVersion($caseIdList[4], $steps5, $expects5, $stepTypes5, 2)) && p() && e('16,17'); // 测试插入指定版本号的步骤
r($testcase->insertStepsTest($caseIdList[5], $steps6, $expects6, $stepTypes6)) && p() && e('18,19'); // 测试插入只有组类型的步骤
r($testcase->insertStepsTest($caseIdList[6], $steps7, $expects7, $stepTypes7)) && p() && e('0'); // 测试边界情况(空数组)