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

163 lines
5.6 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=测试 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多个用例