From c0a6ac3859e1693f275ae8bd91c16da7c84edfec Mon Sep 17 00:00:00 2001 From: liumengyi Date: Mon, 18 Sep 2023 14:44:47 +0800 Subject: [PATCH] * Modify unit test of testcaseModel::getCaseResultsForExport. --- .../test/model/getcaseresultsforexport.php | 22 ++++++++++------- module/testcase/test/testcase.class.php | 24 +++++++++++++++++++ 2 files changed, 38 insertions(+), 8 deletions(-) diff --git a/module/testcase/test/model/getcaseresultsforexport.php b/module/testcase/test/model/getcaseresultsforexport.php index a3bc21d793..c712737a30 100755 --- a/module/testcase/test/model/getcaseresultsforexport.php +++ b/module/testcase/test/model/getcaseresultsforexport.php @@ -1,7 +1,11 @@ -#!/usr/bin/php +#!/usr/bin/php gen('10'); +zdTable('testrun')->gen('10'); + su('admin'); /** @@ -10,15 +14,17 @@ title=测试 testcaseModel->getCasesToExport(); timeout=0 cid=1 -- 获取用例1,2,3的测试结果 @3,2,1 - -- 获取用例1,2,3并且属于测试单1的用例的测试结果 @2,1 - */ -$caseIdList = array('1', '2', '3'); +$caseIdList = array(array(1,3,5), array(2,4,6), array(7,8,9)); $taskIdList = array('0', '1'); $testcase = new testcaseTest(); -r($testcase->getCaseResultsForExportTest($caseIdList, $taskIdList[0])) && p() && e('3,2,1'); // 获取用例1,2,3的测试结果 -r($testcase->getCaseResultsForExportTest($caseIdList, $taskIdList[1])) && p() && e('2,1'); // 获取用例1,2,3并且属于测试单1的用例的测试结果 \ No newline at end of file +$testcase->initResult(); + +r($testcase->getCaseResultsForExportTest($caseIdList[0], $taskIdList[0])) && p() && e('5,3,1'); // 获取用例 1,3,5 任务 0 的测试结果 +r($testcase->getCaseResultsForExportTest($caseIdList[0], $taskIdList[1])) && p() && e('3,1'); // 获取用例 1,3,5 任务 1 的测试结果 +r($testcase->getCaseResultsForExportTest($caseIdList[1], $taskIdList[0])) && p() && e('6,4,2'); // 获取用例 2,4,6 任务 0 的测试结果 +r($testcase->getCaseResultsForExportTest($caseIdList[1], $taskIdList[1])) && p() && e('4,2'); // 获取用例 2,4,6 任务 1 的测试结果 +r($testcase->getCaseResultsForExportTest($caseIdList[2], $taskIdList[0])) && p() && e('9,8,7'); // 获取用例 7,8,9 任务 0 的测试结果 +r($testcase->getCaseResultsForExportTest($caseIdList[2], $taskIdList[1])) && p() && e('0'); // 获取用例 7,8,9 任务 1 的测试结果 diff --git a/module/testcase/test/testcase.class.php b/module/testcase/test/testcase.class.php index 12b6cad3c3..7f9ae91ea9 100755 --- a/module/testcase/test/testcase.class.php +++ b/module/testcase/test/testcase.class.php @@ -7,6 +7,30 @@ class testcaseTest $this->objectModel = $tester->loadModel('testcase'); } + /** + * 初始化结果。 + * Init test results. + * + * @access public + * @return void + */ + public function initResult(): void + { + global $tester; + $testResults = $tester->dao->select('*')->from(TABLE_TESTRESULT)->fetchAll(); + foreach($testResults as $testResult) + { + if($testResult->caseResult == 'fail') + { + $tester->dao->update(TABLE_TESTRESULT)->set('`stepResults`')->eq('a:1:{i:'.$testResult->run.';a:2:{s:6:"result";s:4:"fail";s:4:"real";s:0:"";}}')->where('id')->eq($testResult->id)->exec(); + } + else + { + $tester->dao->update(TABLE_TESTRESULT)->set('`stepResults`')->eq('a:1:{i:'.$testResult->run.';a:2:{s:6:"result";s:4:"pass";s:4:"real";s:0:"";}}')->where('id')->eq($testResult->id)->exec(); + } + } + } + /** * 测试创建一个用例。 * Test create a case.