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

82 lines
3.5 KiB
PHP
Raw Permalink Normal View History

#!/usr/bin/env php
<?php
/**
title=测试 testcaseZen::checkTestcasesForBatchCreate();
timeout=0
cid=19086
- 执行testcaseTest模块的checkTestcasesForBatchCreateTest方法参数是$validTestcases 第0条的title属性 @正常测试用例1
- 执行testcaseTest模块的checkTestcasesForBatchCreateTest方法参数是$emptyTestcases @0
- 执行testcaseTest模块的checkTestcasesForBatchCreateTest方法参数是$missingTitleTestcases 属性title[0] @『用例名称』不能为空。
- 执行testcaseTest模块的checkTestcasesForBatchCreateTest方法参数是$missingTypeTestcases2 属性type[0] @『用例类型』不能为空。
- 执行testcaseTest模块的checkTestcasesForBatchCreateTest方法参数是$validationTestcases 第0条的product属性 @1
- 执行testcaseTest模块的checkTestcasesForBatchCreateTest方法参数是$mixedTestcases 属性title[1] @『用例名称』不能为空。
*/
// 1. 导入依赖(路径固定,不可修改)
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/testcasezen.unittest.class.php';
// 2. 用户登录(选择合适角色)
su('admin');
// 3. 创建测试实例(变量名与模块名一致)
$testcaseTest = new testcaseZenTest();
// 4. 🔴 强制要求必须包含至少5个测试步骤
// 测试步骤1正常情况所有必填字段都存在
$validTestcases = array();
$validTestcases[0] = new stdClass();
$validTestcases[0]->product = 1;
$validTestcases[0]->title = '正常测试用例1';
$validTestcases[0]->type = 'feature';
$validTestcases[1] = new stdClass();
$validTestcases[1]->product = 1;
$validTestcases[1]->title = '正常测试用例2';
$validTestcases[1]->type = 'performance';
r($testcaseTest->checkTestcasesForBatchCreateTest($validTestcases)) && p('0:title') && e('正常测试用例1');
// 测试步骤2边界值空数组输入
$emptyTestcases = array();
r($testcaseTest->checkTestcasesForBatchCreateTest($emptyTestcases)) && p() && e('0');
// 测试步骤3无效输入缺少title必填字段
$missingTitleTestcases = array();
$missingTitleTestcases[0] = new stdClass();
$missingTitleTestcases[0]->product = 1;
$missingTitleTestcases[0]->type = 'feature';
r($testcaseTest->checkTestcasesForBatchCreateTest($missingTitleTestcases)) && p('title[0]') && e('『用例名称』不能为空。');
// 测试步骤4无效输入缺少type必填字段
$missingTypeTestcases2 = array();
$missingTypeTestcases2[0] = new stdClass();
$missingTypeTestcases2[0]->product = 1;
$missingTypeTestcases2[0]->title = '缺少type的测试用例';
r($testcaseTest->checkTestcasesForBatchCreateTest($missingTypeTestcases2)) && p('type[0]') && e('『用例类型』不能为空。');
// 测试步骤5测试字段验证正确性
$validationTestcases = array();
$validationTestcases[0] = new stdClass();
$validationTestcases[0]->product = 1;
$validationTestcases[0]->title = '用于验证的测试用例';
$validationTestcases[0]->type = 'feature';
r($testcaseTest->checkTestcasesForBatchCreateTest($validationTestcases)) && p('0:product') && e('1');
// 测试步骤6复合场景多个用例中部分有错误
$mixedTestcases = array();
$mixedTestcases[0] = new stdClass();
$mixedTestcases[0]->product = 1;
$mixedTestcases[0]->title = '正常用例';
$mixedTestcases[0]->type = 'feature';
$mixedTestcases[1] = new stdClass();
$mixedTestcases[1]->product = 1;
$mixedTestcases[1]->type = 'performance'; // 缺少title
r($testcaseTest->checkTestcasesForBatchCreateTest($mixedTestcases)) && p('title[1]') && e('『用例名称』不能为空。');