Merge branch 'sprint/autoTest_liumengyi_bug' into 'master'
* Add auto test of bug. See merge request easycorp/zentaopms!2422
This commit is contained in:
@@ -1841,4 +1841,118 @@ class bugTest
|
||||
return $array;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test form customed bugs.
|
||||
*
|
||||
* @param array $bugIDList
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function formCustomedBugsTest($bugIDList)
|
||||
{
|
||||
$bugs = $this->objectModel->getByList($bugIDList);
|
||||
$array = $this->objectModel->formCustomedBugs($bugs);
|
||||
|
||||
if(dao::isError())
|
||||
{
|
||||
return dao::getError();
|
||||
}
|
||||
else
|
||||
{
|
||||
return $array;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test adjust the action is clickable.
|
||||
*
|
||||
* @param object $bug
|
||||
* @param string $action
|
||||
* @access public
|
||||
* @return int
|
||||
*/
|
||||
public function isClickableTest($bug, $action)
|
||||
{
|
||||
$object = $this->objectModel->isClickable($bug, $action);
|
||||
|
||||
if(dao::isError())
|
||||
{
|
||||
return dao::getError();
|
||||
}
|
||||
else
|
||||
{
|
||||
return $object ? 1 : 2;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test link bug to build and release.
|
||||
*
|
||||
* @param array $bugIDList
|
||||
* @param int $resolvedBuild
|
||||
* @access public
|
||||
* @return object
|
||||
*/
|
||||
public function linkBugToBuildTest($bugIDList, $resolvedBuild)
|
||||
{
|
||||
$this->objectModel->linkBugToBuild($bugIDList, $resolvedBuild);
|
||||
|
||||
global $tester;
|
||||
$release = $tester->dao->select('id,bugs')->from(TABLE_RELEASE)->where('build')->eq($resolvedBuild)->andWhere('deleted')->eq('0')->fetch();
|
||||
|
||||
if(dao::isError())
|
||||
{
|
||||
return dao::getError();
|
||||
}
|
||||
else
|
||||
{
|
||||
return $release;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get project list.
|
||||
*
|
||||
* @param int $productID
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function getProjectsTest($productID)
|
||||
{
|
||||
$array = $this->objectModel->getProjects($productID);
|
||||
|
||||
$title = '';
|
||||
foreach($array as $id => $project) $title .= ',' . $project;
|
||||
$title = trim($title, ',');
|
||||
|
||||
if(dao::isError())
|
||||
{
|
||||
return dao::getError();
|
||||
}
|
||||
else
|
||||
{
|
||||
return $title;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get id list of all projects.
|
||||
*
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getAllProjectIdsTest()
|
||||
{
|
||||
$array = $this->objectModel->getAllProjectIds();
|
||||
|
||||
if(dao::isError())
|
||||
{
|
||||
return dao::getError();
|
||||
}
|
||||
else
|
||||
{
|
||||
return $array;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Executable
+32
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/bug.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试bugModel->formCustomedBugs();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
获取bug 1 2的module story task case execution名称 >> 产品模块1,软件需求2,0,0,迭代1;产品模块2,软件需求6,0,0,迭代1
|
||||
获取bug 3 4的module story task case execution名称 >> 产品模块3,软件需求10,0,0,迭代1;产品模块5,软件需求14,0,0,迭代2
|
||||
获取bug 5 6的module story task case execution名称 >> 产品模块6,软件需求18,0,0,迭代2;产品模块7,软件需求22,0,0,迭代2
|
||||
获取bug 7 8的module story task case execution名称 >> 产品模块11,软件需求26,0,0,迭代3;产品模块12,软件需求30,0,0,迭代3
|
||||
获取bug 9 10的module story task case execution名称 >> 产品模块13,软件需求34,0,0,迭代3;0,软件需求38,0,0,迭代4
|
||||
|
||||
*/
|
||||
|
||||
$bugIDList1 = array('1', '2');
|
||||
$bugIDList2 = array('3', '4');
|
||||
$bugIDList3 = array('5', '6');
|
||||
$bugIDList4 = array('7', '8');
|
||||
$bugIDList5 = array('9', '10');
|
||||
|
||||
$bug = new bugTest();
|
||||
r($bug->formCustomedBugsTest($bugIDList1)) && p('1:module,story,task,case,execution;2:module,story,task,case,execution') && e('产品模块1,软件需求2,0,0,迭代1;产品模块2,软件需求6,0,0,迭代1'); // 获取bug 1 2的module story task case execution名称
|
||||
r($bug->formCustomedBugsTest($bugIDList2)) && p('3:module,story,task,case,execution;4:module,story,task,case,execution') && e('产品模块3,软件需求10,0,0,迭代1;产品模块5,软件需求14,0,0,迭代2'); // 获取bug 3 4的module story task case execution名称
|
||||
r($bug->formCustomedBugsTest($bugIDList3)) && p('5:module,story,task,case,execution;6:module,story,task,case,execution') && e('产品模块6,软件需求18,0,0,迭代2;产品模块7,软件需求22,0,0,迭代2'); // 获取bug 5 6的module story task case execution名称
|
||||
r($bug->formCustomedBugsTest($bugIDList4)) && p('7:module,story,task,case,execution;8:module,story,task,case,execution') && e('产品模块11,软件需求26,0,0,迭代3;产品模块12,软件需求30,0,0,迭代3'); // 获取bug 7 8的module story task case execution名称
|
||||
r($bug->formCustomedBugsTest($bugIDList5)) && p('9:module,story,task,case,execution;10:module,story,task,case,execution') && e('产品模块13,软件需求34,0,0,迭代3;0,软件需求38,0,0,迭代'); // 获取bug 9 10的module story task case execution名称
|
||||
Executable
+29
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php'; su('admin');
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/bug.class.php';
|
||||
|
||||
/**
|
||||
|
||||
title=bugModel->getAllProjectIds();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
测试projectId为11的项目 >> 11
|
||||
测试projectId为12的项目 >> 12
|
||||
测试projectId为13的项目 >> 13
|
||||
测试projectId为41的项目 >> 41
|
||||
测试projectId为51的项目 >> 51
|
||||
测试projectId为91的项目 >> 91
|
||||
|
||||
*/
|
||||
|
||||
$projectIDList = array('11', '12', '13', '41', '51', '91');
|
||||
|
||||
$bug=new bugTest();
|
||||
r($bug->getAllProjectIdsTest()) && p("$projectIDList[0]") && e('11'); // 测试projectId为11的项目
|
||||
r($bug->getAllProjectIdsTest()) && p("$projectIDList[1]") && e('12'); // 测试projectId为12的项目
|
||||
r($bug->getAllProjectIdsTest()) && p("$projectIDList[2]") && e('13'); // 测试projectId为13的项目
|
||||
r($bug->getAllProjectIdsTest()) && p("$projectIDList[3]") && e('41'); // 测试projectId为41的项目
|
||||
r($bug->getAllProjectIdsTest()) && p("$projectIDList[4]") && e('51'); // 测试projectId为51的项目
|
||||
r($bug->getAllProjectIdsTest()) && p("$projectIDList[5]") && e('91'); // 测试projectId为91的项目
|
||||
Executable
+32
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php'; su('admin');
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/bug.class.php';
|
||||
|
||||
/**
|
||||
|
||||
title=bugModel->getProjects();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
测试获取productID为1的项目 >> 项目1,项目11
|
||||
测试获取productID为2的项目 >> 项目2,项目12
|
||||
测试获取productID为3的项目 >> 项目3,项目13
|
||||
测试获取productID为4的项目 >> 项目4,项目14
|
||||
测试获取productID为5的项目 >> 项目5,项目15
|
||||
测试获取productID为6的项目 >> 项目6,项目16
|
||||
测试获取不存在的product的项目 >> 0
|
||||
|
||||
*/
|
||||
|
||||
|
||||
$productIDList = array('1', '2', '3', '4','5', '6', '1000001');
|
||||
|
||||
$bug=new bugTest();
|
||||
r($bug->getProjectsTest($productIDList[0])) && p() && e('项目1,项目11'); // 测试获取productID为1的项目
|
||||
r($bug->getProjectsTest($productIDList[1])) && p() && e('项目2,项目12'); // 测试获取productID为2的项目
|
||||
r($bug->getProjectsTest($productIDList[2])) && p() && e('项目3,项目13'); // 测试获取productID为3的项目
|
||||
r($bug->getProjectsTest($productIDList[3])) && p() && e('项目4,项目14'); // 测试获取productID为4的项目
|
||||
r($bug->getProjectsTest($productIDList[4])) && p() && e('项目5,项目15'); // 测试获取productID为5的项目
|
||||
r($bug->getProjectsTest($productIDList[5])) && p() && e('项目6,项目16'); // 测试获取productID为6的项目
|
||||
r($bug->getProjectsTest($productIDList[6])) && p() && e('0'); // 测试获取不存在的product的项目
|
||||
Executable
+82
@@ -0,0 +1,82 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/bug.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=bugModel->isClickable();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
状态为active confirmed为0的bug能否执行confirmbug动作 >> 1
|
||||
状态为active confirmed为0的bug能否执行resolve动作 >> 1
|
||||
状态为active confirmed为0的bug能否执行close动作 >> 2
|
||||
状态为active confirmed为0的bug能否执行activate动作 >> 2
|
||||
状态为active confirmed为0的bug能否执行tostory动作 >> 1
|
||||
状态为active confirmed为0的bug能否执行test动作 >> 1
|
||||
状态为active confirmed为1的bug能否执行confirmbug动作 >> 2
|
||||
状态为active confirmed为1的bug能否执行resolve动作 >> 1
|
||||
状态为active confirmed为1的bug能否执行close动作 >> 2
|
||||
状态为active confirmed为1的bug能否执行activate动作 >> 2
|
||||
状态为active confirmed为1的bug能否执行tostory动作 >> 1
|
||||
状态为active confirmed为1的bug能否执行test动作 >> 1
|
||||
状态为resolved的bug能否执行confirmbug动作 >> 2
|
||||
状态为resolved的bug能否执行resolve动作 >> 2
|
||||
状态为resolved的bug能否执行close动作 >> 1
|
||||
状态为resolved的bug能否执行activate动作 >> 1
|
||||
状态为resolved的bug能否执行tostory动作 >> 2
|
||||
状态为resolved的bug能否执行test动作 >> 1
|
||||
状态为closed的bug能否执行confirmbug动作 >> 2
|
||||
状态为closed的bug能否执行resolve动作 >> 2
|
||||
状态为closed的bug能否执行close动作 >> 2
|
||||
状态为closed的bug能否执行activate动作 >> 1
|
||||
状态为closed的bug能否执行tostory动作 >> 2
|
||||
状态为closed的bug能否执行test动作 >> 1
|
||||
|
||||
*/
|
||||
|
||||
$object1 = new stdclass();
|
||||
$object1->status = 'active';
|
||||
$object1->confirmed = 0;
|
||||
|
||||
|
||||
$object2 = new stdclass();
|
||||
$object2->status = 'active';
|
||||
$object2->confirmed = 1;
|
||||
|
||||
$object3 = new stdclass();
|
||||
$object3->status = 'resolved';
|
||||
|
||||
$object4 = new stdclass();
|
||||
$object4->status = 'closed';
|
||||
|
||||
$actionList = array('confirmbug', 'resolve', 'close', 'activate', 'tostory', 'test');
|
||||
|
||||
$bug=new bugTest();
|
||||
|
||||
r($bug->isClickableTest($object1, $actionList[0])) && p() && e('1'); // 状态为active confirmed为0的bug能否执行confirmbug动作
|
||||
r($bug->isClickableTest($object1, $actionList[1])) && p() && e('1'); // 状态为active confirmed为0的bug能否执行resolve动作
|
||||
r($bug->isClickableTest($object1, $actionList[2])) && p() && e('2'); // 状态为active confirmed为0的bug能否执行close动作
|
||||
r($bug->isClickableTest($object1, $actionList[3])) && p() && e('2'); // 状态为active confirmed为0的bug能否执行activate动作
|
||||
r($bug->isClickableTest($object1, $actionList[4])) && p() && e('1'); // 状态为active confirmed为0的bug能否执行tostory动作
|
||||
r($bug->isClickableTest($object1, $actionList[5])) && p() && e('1'); // 状态为active confirmed为0的bug能否执行test动作
|
||||
r($bug->isClickableTest($object2, $actionList[0])) && p() && e('2'); // 状态为active confirmed为1的bug能否执行confirmbug动作
|
||||
r($bug->isClickableTest($object2, $actionList[1])) && p() && e('1'); // 状态为active confirmed为1的bug能否执行resolve动作
|
||||
r($bug->isClickableTest($object2, $actionList[2])) && p() && e('2'); // 状态为active confirmed为1的bug能否执行close动作
|
||||
r($bug->isClickableTest($object2, $actionList[3])) && p() && e('2'); // 状态为active confirmed为1的bug能否执行activate动作
|
||||
r($bug->isClickableTest($object2, $actionList[4])) && p() && e('1'); // 状态为active confirmed为1的bug能否执行tostory动作
|
||||
r($bug->isClickableTest($object2, $actionList[5])) && p() && e('1'); // 状态为active confirmed为1的bug能否执行test动作
|
||||
r($bug->isClickableTest($object3, $actionList[0])) && p() && e('2'); // 状态为resolved的bug能否执行confirmbug动作
|
||||
r($bug->isClickableTest($object3, $actionList[1])) && p() && e('2'); // 状态为resolved的bug能否执行resolve动作
|
||||
r($bug->isClickableTest($object3, $actionList[2])) && p() && e('1'); // 状态为resolved的bug能否执行close动作
|
||||
r($bug->isClickableTest($object3, $actionList[3])) && p() && e('1'); // 状态为resolved的bug能否执行activate动作
|
||||
r($bug->isClickableTest($object3, $actionList[4])) && p() && e('2'); // 状态为resolved的bug能否执行tostory动作
|
||||
r($bug->isClickableTest($object3, $actionList[5])) && p() && e('1'); // 状态为resolved的bug能否执行test动作
|
||||
r($bug->isClickableTest($object4, $actionList[0])) && p() && e('2'); // 状态为closed的bug能否执行confirmbug动作
|
||||
r($bug->isClickableTest($object4, $actionList[1])) && p() && e('2'); // 状态为closed的bug能否执行resolve动作
|
||||
r($bug->isClickableTest($object4, $actionList[2])) && p() && e('2'); // 状态为closed的bug能否执行close动作
|
||||
r($bug->isClickableTest($object4, $actionList[3])) && p() && e('1'); // 状态为closed的bug能否执行activate动作
|
||||
r($bug->isClickableTest($object4, $actionList[4])) && p() && e('2'); // 状态为closed的bug能否执行tostory动作
|
||||
r($bug->isClickableTest($object4, $actionList[5])) && p() && e('1'); // 状态为closed的bug能否执行test动作
|
||||
Executable
+36
@@ -0,0 +1,36 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
include dirname(dirname(dirname(__FILE__))) . '/class/bug.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试bugModel->linkBugToBuild();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
把bug 1 2关联到build 1 >> 1,2
|
||||
把bug 3 4关联到build 3 >> 3,4
|
||||
把bug 5 6关联到build 4 >> 5,6
|
||||
把bug 7 8关联到build 1 >> 1,2,7,8
|
||||
把bug 9 10关联到build 1 >> 1,2,7,8,9,10
|
||||
|
||||
|
||||
*/
|
||||
|
||||
$bugIDList1 = array('1', '2');
|
||||
$bugIDList2 = array('3', '4');
|
||||
$bugIDList3 = array('5', '6');
|
||||
$bugIDList4 = array('7', '8');
|
||||
$bugIDList5 = array('9', '10');
|
||||
|
||||
$buildList = array('1', '3', '5');
|
||||
|
||||
$bug = new bugTest();
|
||||
r($bug->linkBugToBuildTest($bugIDList1, $buildList[0])) && p('bugs') && e('1,2'); // 把bug 1 2关联到build 1
|
||||
r($bug->linkBugToBuildTest($bugIDList2, $buildList[1])) && p('bugs') && e('3,4'); // 把bug 3 4关联到build 3
|
||||
r($bug->linkBugToBuildTest($bugIDList3, $buildList[2])) && p('bugs') && e('5,6'); // 把bug 5 6关联到build 5
|
||||
r($bug->linkBugToBuildTest($bugIDList4, $buildList[0])) && p('bugs') && e('1,2,7,8'); // 把bug 5 6关联到build 1
|
||||
r($bug->linkBugToBuildTest($bugIDList5, $buildList[0])) && p('bugs') && e('1,2,7,8,9,10'); // 把bug 5 6关联到build 1
|
||||
system("./ztest init");
|
||||
Reference in New Issue
Block a user