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

81 lines
3.7 KiB
PHP
Executable file
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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'); // 测试边界情况(空数组)