diff --git a/module/testcase/test/lib/testcasezen.unittest.class.php b/module/testcase/test/lib/testcasezen.unittest.class.php index 44e789caaf..c24f05da5f 100755 --- a/module/testcase/test/lib/testcasezen.unittest.class.php +++ b/module/testcase/test/lib/testcasezen.unittest.class.php @@ -3192,4 +3192,22 @@ class testcaseZenTest return $result; } + /** + * Test getGroupCases method. + * + * @param int $productID + * @param string $branch + * @param string $groupBy + * @param string $caseType + * @param string $browseType + * @access public + * @return array + */ + public function getGroupCasesTest(int $productID = 0, string $branch = '', string $groupBy = '', string $caseType = '', string $browseType = ''): array + { + $result = callZenMethod('testcase', 'getGroupCases', [$productID, $branch, $groupBy, $caseType, $browseType]); + if(dao::isError()) return dao::getError(); + return $result; + } + } diff --git a/module/testcase/test/zen/getgroupcases.php b/module/testcase/test/zen/getgroupcases.php new file mode 100755 index 0000000000..715a2d37e7 --- /dev/null +++ b/module/testcase/test/zen/getgroupcases.php @@ -0,0 +1,64 @@ +#!/usr/bin/env php +loadYaml('product', false, 2)->gen(5); +zenData('story')->loadYaml('story', false, 2)->gen(20); + +// 准备用例数据 +$case = zenData('case'); +$case->id->range('1-20'); +$case->product->range('1-5'); +$case->story->range('1-20'); +$case->module->range('1-10'); +$case->title->range('测试用例1,测试用例2,测试用例3,测试用例4,测试用例5'); +$case->type->range('feature{10},performance{5},config{3},install{2}'); +$case->pri->range('1-4'); +$case->status->range('normal'); +$case->openedBy->range('admin'); +$case->deleted->range('0'); +$case->gen(20); + +// 准备模块数据 +zenData('module')->loadYaml('module', false, 2)->gen(10); + +su('admin'); + +$testcaseTest = new testcaseZenTest(); + +r($testcaseTest->getGroupCasesTest(1, '0', 'story', 'feature', 'all')) && p('1:id,rowspan;6:id,rowspan') && e('1,1;6,1'); // 步骤1:正常情况下按story分组获取用例 +r($testcaseTest->getGroupCasesTest(1, '0', '', 'feature', 'all')) && p('1:id,rowspan;6:id,rowspan') && e('1,0;6,0'); // 步骤2:使用空groupBy参数获取用例 +r($testcaseTest->getGroupCasesTest(9999, '0', 'story', 'feature', 'all')) && p() && e('0'); // 步骤3:使用不存在的productID获取用例 +r($testcaseTest->getGroupCasesTest(1, '', 'story', 'feature', 'all')) && p('1:id,rowspan;6:id,rowspan') && e('1,1;6,1'); // 步骤4:使用空branch参数按story分组 +r($testcaseTest->getGroupCasesTest(1, '0', 'story', 'performance', 'all')) && p('11:id,rowspan') && e('11,1'); // 步骤5:测试不同caseType参数获取用例 \ No newline at end of file