* [misc] Enhance unit tests for instanceModel::randThirdDomain() method

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
liugang
2025-09-25 09:16:15 +08:00
co-authored by Claude
parent 24950230fe
commit cdad1ca970
2 changed files with 45 additions and 14 deletions
@@ -761,4 +761,20 @@ class instanceTest
return $result;
}
/**
* Test randThirdDomain method.
*
* @param int $length
* @param int $triedTimes
* @access public
* @return string
*/
public function randThirdDomainTest(int $length = 4, int $triedTimes = 0): string
{
$result = $this->objectModel->randThirdDomain($length, $triedTimes);
if(dao::isError()) return dao::getError();
return $result;
}
}
+29 -14
View File
@@ -1,25 +1,40 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . '/test/lib/init.php';
su('admin');
/**
title=instanceModel->getByID();
title=测试 instanceModel::randThirdDomain();
timeout=0
cid=1
cid=0
- 查看获取到的域名前缀的长度 @2
- 查看获取到的域名前缀的长度 @3
- 查看获取到的域名前缀的长度 @4
- 查看获取到的域名前缀的长度 @5
- 步骤1:测试默认长度4的域名生成 @4
- 步骤2:测试长度为2的短域名生成 @2
- 步骤3:测试长度为8的长域名生成 @8
- 步骤4:测试多次尝试参数的影响 @5
- 步骤5:测试生成结果为小写字母和数字 @1
*/
global $tester;
$tester->loadModel('instance');
// 1. 导入依赖
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/instance.unittest.class.php';
r(strlen($tester->instance->randThirdDomain(2))) && p('') && e('2'); // 查看获取到的域名前缀的长度
r(strlen($tester->instance->randThirdDomain(3))) && p('') && e('3'); // 查看获取到的域名前缀的长度
r(strlen($tester->instance->randThirdDomain(4))) && p('') && e('4'); // 查看获取到的域名前缀的长度
r(strlen($tester->instance->randThirdDomain(5))) && p('') && e('5'); // 查看获取到的域名前缀的长度
// 2. zendata数据准备
$table = zenData('instance');
$table->id->range('1-10');
$table->domain->range('test1.example.com,test2.example.com,test3.example.com');
$table->deleted->range('0');
$table->gen(3);
// 3. 用户登录
su('admin');
// 4. 创建测试实例
$instanceTest = new instanceTest();
// 5. 测试步骤
r(strlen($instanceTest->randThirdDomainTest(4))) && p('') && e('4'); // 步骤1:测试默认长度4的域名生成
r(strlen($instanceTest->randThirdDomainTest(2))) && p('') && e('2'); // 步骤2:测试长度为2的短域名生成
r(strlen($instanceTest->randThirdDomainTest(8))) && p('') && e('8'); // 步骤3:测试长度为8的长域名生成
r(strlen($instanceTest->randThirdDomainTest(5, 3))) && p('') && e('5'); // 步骤4:测试多次尝试参数的影响
r(preg_match('/^[a-z0-9]+$/', $instanceTest->randThirdDomainTest(6))) && p('') && e('1'); // 步骤5:测试生成结果为小写字母和数字