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

82 lines
3.5 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::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('『用例名称』不能为空。');