znt/module/testcase/test/zen/assignmoduleandsceneforbatchedit.php

163 lines
5.6 KiB
PHP
Raw Permalink Normal View History

#!/usr/bin/env php
<?php
/**
title=测试 testcaseZen::assignModuleAndSceneForBatchEdit();
timeout=0
cid=19072
- 步骤1正常情况属性executed @1
- 步骤2空用例数组属性executed @1
- 步骤3用例库案例属性executed @1
- 步骤4不同分支案例属性executed @1
- 步骤5缺失模块数据属性executed @1
- 步骤6多个用例属性executed @1
*/
// 1. 导入依赖(路径固定,不可修改)
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/testcasezen.unittest.class.php';
// 2. zendata数据准备
$product = zenData('product');
$product->id->range('1-5');
$product->name->range('产品1,产品2,产品3,产品4,产品5');
$product->type->range('normal{5}');
$product->gen(5);
$case = zenData('case');
$case->id->range('1-10');
$case->product->range('1-5');
$case->module->range('1-5');
$case->scene->range('1-5');
$case->story->range('1-10,0{5}');
$case->lib->range('0{8},1{2}');
$case->branch->range('0{10}');
$case->title->range('用例1,用例2,用例3,用例4,用例5,用例6,用例7,用例8,用例9,用例10');
$case->gen(10);
$module = zenData('module');
$module->id->range('1-10');
$module->root->range('1-5');
$module->branch->range('0{10}');
$module->type->range('case{5},story{5}');
$module->name->range('模块1,模块2,模块3,模块4,模块5,模块6,模块7,模块8,模块9,模块10');
$module->gen(10);
$scene = zenData('scene');
$scene->id->range('1-10');
$scene->product->range('1-5');
$scene->branch->range('0{10}');
$scene->module->range('1-5');
$scene->title->range('场景1,场景2,场景3,场景4,场景5,场景6,场景7,场景8,场景9,场景10');
$scene->gen(10);
// 3. 用户登录
su('admin');
// 4. 创建测试实例
$testcaseZenTest = new testcaseZenTest();
// 5. 准备测试数据
// 测试数据1正常情况
$productID1 = 1;
$branch1 = '0';
$branches1 = array('0' => '无分支');
$cases1 = array(
(object)array('id' => 1, 'product' => 1, 'module' => 1, 'scene' => 1, 'story' => 1, 'lib' => 0, 'branch' => 0),
(object)array('id' => 2, 'product' => 1, 'module' => 2, 'scene' => 2, 'story' => 2, 'lib' => 0, 'branch' => 0)
);
$modules1 = array(
'case' => array(
1 => array(
0 => array(
array('text' => '模块1', 'value' => 1),
array('text' => '模块2', 'value' => 2)
)
)
)
);
// 测试数据2空用例数组
$productID2 = 1;
$branch2 = '0';
$branches2 = array('0' => '无分支');
$cases2 = array();
$modules2 = array();
// 测试数据3用例库案例
$productID3 = 1;
$branch3 = '0';
$branches3 = array('0' => '无分支');
$cases3 = array(
(object)array('id' => 3, 'product' => 1, 'module' => 3, 'scene' => 3, 'story' => '', 'lib' => 1, 'branch' => 0)
);
$modules3 = array(
'lib' => array(
1 => array(
0 => array(
array('text' => '库模块1', 'value' => 3)
)
)
)
);
// 测试数据4不同分支案例
$productID4 = 2;
$branch4 = 'all';
$branches4 = array('0' => '无分支', '1' => '分支1');
$cases4 = array(
(object)array('id' => 4, 'product' => 2, 'module' => 4, 'scene' => 4, 'story' => 4, 'lib' => 0, 'branch' => 1),
(object)array('id' => 5, 'product' => 2, 'module' => 5, 'scene' => 5, 'story' => 5, 'lib' => 0, 'branch' => 0)
);
$modules4 = array(
'case' => array(
2 => array(
1 => array(
array('text' => '分支模块', 'value' => 4)
),
0 => array(
array('text' => '主干模块', 'value' => 5)
)
)
)
);
// 测试数据5缺失模块数据
$productID5 = 3;
$branch5 = '0';
$branches5 = array('0' => '无分支');
$cases5 = array(
(object)array('id' => 6, 'product' => 3, 'module' => 6, 'scene' => 6, 'story' => 6, 'lib' => 0, 'branch' => 0)
);
$modules5 = array(); // 空模块数据
// 测试数据6多个用例
$productID6 = 1;
$branch6 = '0';
$branches6 = array('0' => '无分支');
$cases6 = array(
(object)array('id' => 7, 'product' => 1, 'module' => 1, 'scene' => 1, 'story' => 7, 'lib' => 0, 'branch' => 0),
(object)array('id' => 8, 'product' => 1, 'module' => 2, 'scene' => 2, 'story' => 8, 'lib' => 0, 'branch' => 0),
(object)array('id' => 9, 'product' => 1, 'module' => 1, 'scene' => 1, 'story' => '', 'lib' => 0, 'branch' => 0)
);
$modules6 = array(
'case' => array(
1 => array(
0 => array(
array('text' => '模块1', 'value' => 1),
array('text' => '模块2', 'value' => 2)
)
)
)
);
// 6. 执行测试步骤强制要求必须包含至少5个测试步骤
r($testcaseZenTest->assignModuleAndSceneForBatchEditTest($productID1, $branch1, $branches1, $cases1, $modules1)) && p('executed') && e('1'); // 步骤1正常情况
r($testcaseZenTest->assignModuleAndSceneForBatchEditTest($productID2, $branch2, $branches2, $cases2, $modules2)) && p('executed') && e('1'); // 步骤2空用例数组
r($testcaseZenTest->assignModuleAndSceneForBatchEditTest($productID3, $branch3, $branches3, $cases3, $modules3)) && p('executed') && e('1'); // 步骤3用例库案例
r($testcaseZenTest->assignModuleAndSceneForBatchEditTest($productID4, $branch4, $branches4, $cases4, $modules4)) && p('executed') && e('1'); // 步骤4不同分支案例
r($testcaseZenTest->assignModuleAndSceneForBatchEditTest($productID5, $branch5, $branches5, $cases5, $modules5)) && p('executed') && e('1'); // 步骤5缺失模块数据
r($testcaseZenTest->assignModuleAndSceneForBatchEditTest($productID6, $branch6, $branches6, $cases6, $modules6)) && p('executed') && e('1'); // 步骤6多个用例