* Refactor testcaseModel::getStepByProductAandModule, and add its unit test.
This commit is contained in:
@@ -2583,6 +2583,7 @@ class testcaseModel extends model
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过产品和模块获取步骤信息。
|
||||
* Get step by product and module.
|
||||
*
|
||||
* @param int $productID
|
||||
@@ -2590,7 +2591,7 @@ class testcaseModel extends model
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
function getStepByProductAndModule($productID, $moduleID)
|
||||
function getStepByProductAndModule(int $productID, int $moduleID): array
|
||||
{
|
||||
$fields = "t1.id as testcaseID,"
|
||||
. "t2.id as stepID,"
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
include dirname(__FILE__, 2) . '/testcase.class.php';
|
||||
|
||||
zdTable('case')->config('modulecase')->gen('100');
|
||||
zdTable('casestep')->gen('100');
|
||||
zdTable('user')->gen('1');
|
||||
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 testcaseModel->getStepByProductAndModule();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
|
||||
$productIdList = array(0, 1, 2, 3);
|
||||
$moduleIdList = array(0, 1821, 1825, 1829);
|
||||
|
||||
$testcase = new testcaseTest();
|
||||
|
||||
r($testcase->getStepByProductAndModuleTest($productIdList[0], $moduleIdList[0])) && p() && e('0'); // 获取产品 0 模块 0 的步骤信息
|
||||
r($testcase->getStepByProductAndModuleTest($productIdList[1], $moduleIdList[0])) && p() && e('testcaseID:1 stepID: 1. testcaseID:2 stepID: 2. testcaseID:3 stepID: 3. testcaseID:4 stepID: 4.'); // 获取产品 1 模块 0 的步骤信息
|
||||
r($testcase->getStepByProductAndModuleTest($productIdList[1], $moduleIdList[1])) && p() && e('testcaseID:1 stepID: 1.'); // 获取产品 1 模块 1821 的步骤信息
|
||||
r($testcase->getStepByProductAndModuleTest($productIdList[1], $moduleIdList[2])) && p() && e('0'); // 获取产品 1 模块 1825 的步骤信息
|
||||
r($testcase->getStepByProductAndModuleTest($productIdList[1], $moduleIdList[3])) && p() && e('0'); // 获取产品 1 模块 1829 的步骤信息
|
||||
r($testcase->getStepByProductAndModuleTest($productIdList[2], $moduleIdList[0])) && p() && e('testcaseID:5 stepID: 5. testcaseID:6 stepID: 6. testcaseID:7 stepID: 7. testcaseID:8 stepID: 8.'); // 获取产品 2 模块 0 的步骤信息
|
||||
r($testcase->getStepByProductAndModuleTest($productIdList[2], $moduleIdList[1])) && p() && e('0'); // 获取产品 2 模块 1821 的步骤信息
|
||||
r($testcase->getStepByProductAndModuleTest($productIdList[2], $moduleIdList[2])) && p() && e('testcaseID:5 stepID: 5.'); // 获取产品 2 模块 1825 的步骤信息
|
||||
r($testcase->getStepByProductAndModuleTest($productIdList[2], $moduleIdList[3])) && p() && e('0'); // 获取产品 2 模块 1829 的步骤信息
|
||||
r($testcase->getStepByProductAndModuleTest($productIdList[3], $moduleIdList[0])) && p() && e('testcaseID:9 stepID: 9. testcaseID:10 stepID: 10. testcaseID:11 stepID: 11. testcaseID:12 stepID: 12.'); // 获取产品 3 模块 0 的步骤信息
|
||||
r($testcase->getStepByProductAndModuleTest($productIdList[3], $moduleIdList[1])) && p() && e('0'); // 获取产品 3 模块 1821 的步骤信息
|
||||
r($testcase->getStepByProductAndModuleTest($productIdList[3], $moduleIdList[2])) && p() && e('0'); // 获取产品 3 模块 1825 的步骤信息
|
||||
r($testcase->getStepByProductAndModuleTest($productIdList[3], $moduleIdList[3])) && p() && e('testcaseID:10 stepID: 10.'); // 获取产品 3 模块 1829 的步骤信息
|
||||
@@ -1392,4 +1392,24 @@ class testcaseTest
|
||||
if(dao::isError()) return dao::getError();
|
||||
return $return;
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试通过产品和模块获取步骤信息。
|
||||
* Test get step by product and module.
|
||||
*
|
||||
* @param int $productID
|
||||
* @param int $moduleID
|
||||
* @access public
|
||||
* @return array|string
|
||||
*/
|
||||
public function getStepByProductAndModuleTest(int $productID, int $moduleID): array|string
|
||||
{
|
||||
$array = $this->objectModel->getStepByProductAndModule($productID, $moduleID);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
$return = '';
|
||||
foreach($array as $key => $step) $return .= "testcaseID:{$step->testcaseID} stepID: {$step->stepID}. ";
|
||||
return trim($return);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user