* Optimize unit test code for block.

This commit is contained in:
孔令茂
2023-04-26 20:08:30 +08:00
parent 77830be2da
commit 523f2e8e39
5 changed files with 113 additions and 9 deletions
+8 -8
View File
@@ -33,7 +33,7 @@ class blockModel extends model
}
/**
* Get a block by blockID.
* Get a block by blockID.
* 根据区块ID获取区块信息.
*
* @param int $blockID
@@ -166,7 +166,7 @@ class blockModel extends model
}
/**
* Get max order number by block dashboard.
* Get max order number by block dashboard.
* 获取对应仪表盘下区块的最大排序号.
*
* @param string $dashboard
@@ -181,9 +181,9 @@ class blockModel extends model
/**
* Get block set form params.
* 获取不同区块所需的参数配置.
*
* @param string $type
* @param string $module
*
* @param string $type
* @param string $module
* @access public
* @return string
*/
@@ -314,7 +314,7 @@ class blockModel extends model
/**
* Create a block.
*
* @param object $formData
* @param object $formData
* @access public
* @return void
*/
@@ -332,7 +332,7 @@ class blockModel extends model
/**
* Update a block.
*
* @param object $formData
* @param object $formData
* @access public
* @return void
*/
@@ -343,7 +343,7 @@ class blockModel extends model
$this->loadModel('score')->create('block', 'set');
return $formData->id;
return $formData->id;
}
/**
+17
View File
@@ -7,6 +7,23 @@ class blockTest
$this->objectModel = $tester->loadModel('block');
}
/**
* Test create a block.
*
* @param object $block
* @access public
* @return int|false
*/
public function createTest($block)
{
$blockID = $this->objectModel->create($block);
if(dao::isError()) a(dao::getError());
if(dao::isError()) return dao::getError();
return $blockID;
}
/**
* Test save params.
*
+85
View File
@@ -0,0 +1,85 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . "/test/lib/init.php";
include dirname(__FILE__, 2) . '/block.class.php';
su('admin');
function initData()
{
$block = zdTable('block');
$block->gen(1);
}
/**
title=18:41:52 ERROR: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry &
timeout=0
cid=39
- 执行block模块的getByID方法,参数是$newBlockID
- 属性account @admin
- 属性vision @rnd
- 属性module @my
- 属性title @区块123
- 属性source @my
- 属性block @bug
- 属性order @5
- 执行blockTest模块的create方法,参数是$accoutTooLangBlock @
*/
global $tester;
$tester->loadModel('block');
initData();
$block = new stdclass();
$block->account = 'admin';
$block->vision = 'rnd';
$block->module = 'my';
$block->title = '区块123';
$block->source = 'my';
$block->block = 'bug';
$block->order = '5';
$repeatBlock = new stdclass();
$repeatBlock->account = 'admin';
$repeatBlock->vision = 'rnd';
$repeatBlock->module = 'my';
$repeatBlock->title = '区块123';
$repeatBlock->source = 'my';
$repeatBlock->block = 'bug';
$repeatBlock->order = '5';
$accoutTooLangBlock = new stdclass();
$accoutTooLangBlock->account = 'adminadminadminadminadminadmin1';
$accoutTooLangBlock->vision = 'rnd';
$accoutTooLangBlock->module = 'my';
$accoutTooLangBlock->title = '区块123';
$accoutTooLangBlock->source = 'my';
$accoutTooLangBlock->block = 'bug';
$accoutTooLangBlock->order = '5';
$titleTooLangBlock = new stdclass();
$titleTooLangBlock->account = 'admin';
$titleTooLangBlock->vision = 'rnd';
$titleTooLangBlock->module = 'my';
$titleTooLangBlock->title = '5个字区块5个字区块5个字区块5个字区块5个字区块1';
$titleTooLangBlock->source = 'my';
$titleTooLangBlock->block = 'bug';
$titleTooLangBlock->order = '5';
$blockTest = new blockTest();
$newBlockID = $blockTest->createTest($block);
r($tester->block->getByID($newBlockID)) && p('account,vision,module,title,source,block,order') && e('admin,rnd,my,区块123,my,bug,5'); // 测试获取正常的block的内容
r($blockTest->createTest($repeatBlock)) && p('') && e(''); // 测试联合主键不能重复
r($blockTest->createTest($accoutTooLangBlock)) && p('') && e(''); // 测试account 字段字符超出长度
+3 -1
View File
@@ -10,7 +10,7 @@ function initData()
$block->account->range('admin,test1,test2');
$block->vision->range('rnd,lite');
$block->module->range('my,qa,project');
$block->title->prefix('区块')->range("2-5");
$block->title->prefix('区块')->range('2-5');
$block->source->range('my,qa,project');
$block->block->range('bug,case,story');
$block->order->range('5-2');
@@ -33,6 +33,7 @@ cid=1
- 属性block @bug
- 属性order @5
- 执行block模块的getByID方法,参数是4,属性order @3
- 执行block模块的getByID方法,参数是6 @0
@@ -44,4 +45,5 @@ $tester->loadModel('block');
initData();
r($tester->block->getByID(2)) && p('account,vision,module,title,source,block,order') && e('admin,rnd,my,区块2,my,bug,5'); // 测试获取正常的block的内容
r($tester->block->getByID(4)) && p('order') && e('3'); // 测试获取正常的block的内容
r($tester->block->getByID(6)) && p('') && e('0'); // 测试获取不存在的block的内容