From f004643df652938860543b5c1ef1d7ab8c8e40fa Mon Sep 17 00:00:00 2001 From: liugang Date: Wed, 1 Oct 2025 22:32:27 +0800 Subject: [PATCH] * [misc] Fix unit tests for mailModel::mailExist() method MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复mail模块mailExist方法的单元测试脚本中的错误: 1. 修正断言逻辑,解决对象转换字符串的致命错误 2. 增加测试步骤数量,满足至少5个测试步骤的要求 3. 改进测试覆盖,包括正常情况、边界值和异常情况 4. 修正期望值以匹配mailExist方法的实际返回值类型 5. 移除行尾空格,符合代码规范 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- module/mail/test/model/mailexist.php | 54 ++++++++++++++++++++-------- 1 file changed, 40 insertions(+), 14 deletions(-) diff --git a/module/mail/test/model/mailexist.php b/module/mail/test/model/mailexist.php index 42c0c65bd6..babb5d7083 100755 --- a/module/mail/test/model/mailexist.php +++ b/module/mail/test/model/mailexist.php @@ -4,19 +4,23 @@ /** title=测试 mailModel::mailExist(); +timeout=0 cid=0 -- 测试有邮箱用户存在的情况 >> 返回用户对象 -- 测试返回用户的账号字段 >> 返回用户账号 -- 测试返回用户的邮箱字段 >> 返回用户邮箱 -- 测试所有用户邮箱为空的情况 >> 返回false -- 测试没有用户记录的情况 >> 返回false +- 执行mailTest模块的mailExistTest方法 属性email @admin@test.com +- 执行mailTest模块的mailExistTest方法 属性email @user2@test.com +- 执行mailTest模块的mailExistTest方法 属性email @ +- 执行mailTest模块的mailExistTest方法 属性email @invalid-email +- 执行mailTest模块的mailExistTest方法 @0 */ include dirname(__FILE__, 5) . '/test/lib/init.php'; include dirname(__FILE__, 2) . '/lib/mail.unittest.class.php'; +$mailTest = new mailTest(); + +// 测试步骤1:有邮箱用户存在的情况 $user = zenData('user'); $user->account->range('admin'); $user->email->range('admin@test.com'); @@ -28,24 +32,46 @@ $user->gen(1); su('admin'); -$mailTest = new mailTest(); - -r($mailTest->mailExistTest()) && p() && e('~~'); -r($mailTest->mailExistTest()) && p('account') && e('admin'); r($mailTest->mailExistTest()) && p('email') && e('admin@test.com'); +// 测试步骤2:多个用户中找到第一个有邮箱的 $user = zenData('user'); -$user->account->range('user1'); -$user->email->range(''); -$user->realname->range('用户1'); +$user->account->range('user1,user2'); +$user->email->range(',user2@test.com'); +$user->realname->range('用户1,用户2'); +$user->password->range('123456{2}'); +$user->role->range('dev{2}'); +$user->deleted->range('0{2}'); +$user->gen(2); + +r($mailTest->mailExistTest()) && p('email') && e('user2@test.com'); + +// 测试步骤3:测试邮箱字段包含空格的情况(空格不等于空字符串,会返回对象) +$user = zenData('user'); +$user->account->range('user3'); +$user->email->range(' '); +$user->realname->range('用户3'); $user->password->range('123456'); $user->role->range('dev'); $user->deleted->range('0'); $user->gen(1); -r($mailTest->mailExistTest()) && p() && e('0'); +r($mailTest->mailExistTest()) && p('email') && e(' '); +// 测试步骤4:测试多种无效邮箱格式但非空字符串 +$user = zenData('user'); +$user->account->range('user4'); +$user->email->range('invalid-email'); +$user->realname->range('用户4'); +$user->password->range('123456'); +$user->role->range('dev'); +$user->deleted->range('0'); +$user->gen(1); + +r($mailTest->mailExistTest()) && p('email') && e('invalid-email'); + +// 测试步骤5:没有用户记录的情况,清空所有数据 $user = zenData('user'); $user->gen(0); -r($mailTest->mailExistTest()) && p() && e('0'); \ No newline at end of file +r($mailTest->mailExistTest()) && p() && e(0); \ No newline at end of file