修改邮件发送配置问题
This commit is contained in:
@@ -5,16 +5,17 @@ import cc.winboll.auth.MailAuthUtils;
|
||||
import cc.winboll.auth.RSAUtils;
|
||||
import cc.winboll.models.UserModel;
|
||||
import cc.winboll.util.ConsoleInputUtils;
|
||||
import cc.winboll.util.ConsoleVersionUtils;
|
||||
import cc.winboll.util.EmailSendUtils;
|
||||
import cc.winboll.util.EnvInfoUtils;
|
||||
import cc.winboll.util.HelpInfoUtils;
|
||||
import cc.winboll.util.IniConfigUtils;
|
||||
import cc.winboll.util.MainUtils;
|
||||
import cc.winboll.util.ServerUtils;
|
||||
import cc.winboll.util.IniConfigUtils;
|
||||
import cc.winboll.util.EnvInfoUtils;
|
||||
import cc.winboll.util.ConsoleVersionUtils; // 1. 新增导入
|
||||
import java.io.BufferedReader;
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.File;
|
||||
import java.io.File;
|
||||
import java.io.FileReader;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
@@ -25,11 +26,11 @@ import java.util.List;
|
||||
* AuthCenter 控制台指令自动化测试类
|
||||
* 适配 Java7 语言规范与 Android API30 运行环境
|
||||
* 自动执行控制台指令测试用例,生成结构化测试报告 + 发送报告到配置邮箱
|
||||
* 核心优化:从config.ini读取配置,动态初始化测试路径与参数,根目录配置缺失直接日志退出
|
||||
* 本次更新:1.新增EnvInfoUtils测试用例 2.邮件报告追加环境信息 3.用EmailSendUtils无参test()+修复用例索引错误+精简冗余日志
|
||||
* 核心优化:IniConfigUtils+LogUtils移至main直接初始化,移除其单元测试,流程更简洁
|
||||
* 本次更新:移除核心配置工具类单元测试,main函数前置初始化核心依赖
|
||||
* @Author 豆包&ZhanGSKen<zhangsken@qq.com>
|
||||
* @Date 2026/01/20 10:00:00
|
||||
* @LastEditTime 2026/01/26 新增EnvInfoUtils用例+邮件追加环境信息+补充用户ID展示 + 新增ConsoleVersionUtils版本读取测试
|
||||
* @LastEditTime 2026/01/26 main前置初始化IniConfigUtils+LogUtils,移除对应测试用例
|
||||
*/
|
||||
public class ConsoleCmdAutoTest {
|
||||
// ========== 静态常量(配置键名,不可变) ==========
|
||||
@@ -40,6 +41,7 @@ public class ConsoleCmdAutoTest {
|
||||
private static final String CONFIG_SECTION_GLOBAL = "GlobalConfig";
|
||||
private static final String CONFIG_SECTION_EMAIL = "EmailConfig";
|
||||
private static final String CONFIG_KEY_SEND_EMAIL = "send_email_account";
|
||||
private static final String CONFIG_KEY_SMTP_AUTH_CODE = "smtp_auth_code";// 授权码配置键
|
||||
|
||||
// ========== 动态配置属性(从INI读取,可变) ==========
|
||||
private static String PROJECT_ROOT_DIR;
|
||||
@@ -69,20 +71,29 @@ public class ConsoleCmdAutoTest {
|
||||
}
|
||||
}
|
||||
|
||||
// ========== 程序入口主函数 ==========
|
||||
// ========== 程序入口主函数 ==========
|
||||
public static boolean main(String[] args) {
|
||||
// 核心改动:main函数前置初始化核心依赖,优先完成IniConfig+LogUtils初始化
|
||||
try {
|
||||
IniConfigUtils.init();// 优先初始化配置工具
|
||||
LogUtils.init();// 初始化日志工具
|
||||
System.out.println("✅ 核心依赖初始化完成(IniConfigUtils+LogUtils)");
|
||||
} catch (Exception e) {
|
||||
System.err.println("❌ 核心依赖初始化失败,程序退出:" + e.getMessage());
|
||||
return false;
|
||||
}
|
||||
|
||||
LogUtils.d(TAG, "【函数调用】main(),自动化测试程序启动");
|
||||
|
||||
// 初始化报告路径(读取GlobalConfig的reports_path,优先级最高)
|
||||
initReportPathFromIni();
|
||||
|
||||
// 直接执行测试流程(依赖外部已初始化配置)
|
||||
// 直接执行测试流程
|
||||
registerTestCases();
|
||||
runAllTestCases();
|
||||
generateTestReport();
|
||||
|
||||
// 新增:生成报告后发送到配置邮箱
|
||||
// 生成报告后发送到配置邮箱
|
||||
sendReportToEmail();
|
||||
|
||||
// 输出测试总结
|
||||
@@ -93,17 +104,16 @@ public class ConsoleCmdAutoTest {
|
||||
System.out.println("报告文件路径:" + new File(REPORT_FILE).getAbsolutePath());
|
||||
LogUtils.i(TAG, "【函数结束】main()," + summary);
|
||||
|
||||
// 核心修改:任意用例失败返回false,全部通过返回true
|
||||
// 任意用例失败返回false,全部通过返回true
|
||||
return failCount == 0;
|
||||
}
|
||||
|
||||
// ========== 核心修改:读取GlobalConfig的reports_path初始化报告路径 ==========
|
||||
// ========== 读取GlobalConfig的reports_path初始化报告路径 ==========
|
||||
private static void initReportPathFromIni() {
|
||||
try {
|
||||
// 读取核心配置
|
||||
PROJECT_ROOT_DIR = IniConfigUtils.getConfigValue(CONFIG_SECTION_GLOBAL, CONFIG_KEY_ROOT_DIR, "");
|
||||
LOG_DIR_PATH = IniConfigUtils.getConfigValue(CONFIG_SECTION_GLOBAL, CONFIG_KEY_LOG_PATH, "logs");
|
||||
// 核心修改:读取GlobalConfig下的reports_path作为报告根目录
|
||||
REPORT_DIR_PATH = IniConfigUtils.getConfigValue(CONFIG_SECTION_GLOBAL, CONFIG_KEY_REPORTS_PATH, "test/reports");
|
||||
|
||||
// 拼接完整报告文件路径,文件名带时间戳防重复
|
||||
@@ -122,7 +132,7 @@ public class ConsoleCmdAutoTest {
|
||||
}
|
||||
}
|
||||
|
||||
// ========== 新增:发送测试报告到配置邮箱(追加环境信息) ==========
|
||||
// ========== 发送测试报告到配置邮箱(追加环境信息) ==========
|
||||
private static void sendReportToEmail() {
|
||||
LogUtils.d(TAG, "【函数调用】sendReportToEmail(),开始发送测试报告邮件");
|
||||
EmailSendUtils emailUtils = EmailSendUtils.getInstance();
|
||||
@@ -139,7 +149,7 @@ public class ConsoleCmdAutoTest {
|
||||
return;
|
||||
}
|
||||
|
||||
// 核心更新:拼接EnvInfoUtils完整环境报告,格式和终端一致
|
||||
// 拼接EnvInfoUtils完整环境报告
|
||||
String envInfo = getEnvReportForEmail();
|
||||
String finalContent = reportContent + "\n\n" + envInfo;
|
||||
|
||||
@@ -165,20 +175,18 @@ public class ConsoleCmdAutoTest {
|
||||
}
|
||||
}
|
||||
|
||||
// ========== 更新:组装邮件用的环境信息(格式统一+无冗余) ==========
|
||||
// ========== 组装邮件用的环境信息 ==========
|
||||
private static String getEnvReportForEmail() {
|
||||
StringBuilder envSb = new StringBuilder();
|
||||
envSb.append("=== 运行环境核心信息(EnvInfoUtils获取)===\n");
|
||||
envSb.append("核心环境标识:").append(EnvInfoUtils.getEnvFlag()).append("\n");
|
||||
envSb.append("是否Android环境:").append(EnvInfoUtils.isAndroidEnv() ? "是" : "否").append("\n\n");
|
||||
|
||||
// 核心:直接拼接完整环境报告,和终端输出完全一致
|
||||
envSb.append(EnvInfoUtils.getFullEnvReportText()).append("\n");
|
||||
envSb.append("=====================================");
|
||||
return envSb.toString();
|
||||
}
|
||||
|
||||
// ========== 新增:读取报告文件内容 ==========
|
||||
// ========== 读取报告文件内容 ==========
|
||||
private static String readReportFile() {
|
||||
BufferedReader reader = null;
|
||||
StringBuilder content = new StringBuilder();
|
||||
@@ -203,22 +211,21 @@ public class ConsoleCmdAutoTest {
|
||||
}
|
||||
}
|
||||
|
||||
// ========== 工具函数(按执行顺序排列) ==========
|
||||
// ========== 注册测试用例(已移除IniConfigUtils、LogUtils相关测试) ==========
|
||||
private static void registerTestCases() {
|
||||
LogUtils.d(TAG, "【函数调用】registerTestCases(),开始注册测试用例");
|
||||
final EmailSendUtils emailUtils = EmailSendUtils.getInstance();
|
||||
|
||||
// ========== 3个核心工具类独立测试(优先执行) ==========
|
||||
// 用例01:核心工具类集成测试(仅保留RSAUtils/UserModel)
|
||||
testCaseList.add(new TestCase(
|
||||
"核心工具类集成测试",
|
||||
"执行LogUtils/RSAUtils/UserModel独立测试函数,验证工具类完整性",
|
||||
"执行RSAUtils/UserModel独立测试函数,验证工具类完整性",
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
LogUtils.test(); // 执行LogUtils测试
|
||||
RSAUtils.test(); // 执行RSAUtils测试
|
||||
UserModel.test(); // 执行UserModel测试
|
||||
RSAUtils.test(); // 仅保留RSA测试
|
||||
UserModel.test(); // 仅保留UserModel测试
|
||||
testCaseList.get(0).isPass = true;
|
||||
LogUtils.d(TAG, "【用例结果】核心工具类集成测试通过");
|
||||
} catch (Exception e) {
|
||||
@@ -229,7 +236,7 @@ public class ConsoleCmdAutoTest {
|
||||
}
|
||||
));
|
||||
|
||||
// 新增用例 ConsoleVersionUtils版本读取测试
|
||||
// 用例02:ConsoleVersionUtils版本读取测试
|
||||
testCaseList.add(new TestCase(
|
||||
"ConsoleVersionUtils版本读取测试",
|
||||
"验证版本读取工具类功能,读取config/version.flags并校验格式",
|
||||
@@ -237,11 +244,8 @@ public class ConsoleCmdAutoTest {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
// 执行版本工具自测
|
||||
ConsoleVersionUtils.test();
|
||||
// 验证核心读取功能
|
||||
String version = ConsoleVersionUtils.getVersion();
|
||||
// 只要不抛异常即算通过,兼容各种返回场景
|
||||
testCaseList.get(1).isPass = true;
|
||||
LogUtils.d(TAG, "【用例结果】版本读取测试通过,当前版本结果:" + version);
|
||||
} catch (Exception e) {
|
||||
@@ -252,7 +256,7 @@ public class ConsoleCmdAutoTest {
|
||||
}
|
||||
));
|
||||
|
||||
// 新增用例02:EnvInfoUtils环境检测工具测试(紧跟核心工具类)
|
||||
// 用例03:EnvInfoUtils环境检测工具测试
|
||||
testCaseList.add(new TestCase(
|
||||
"EnvInfoUtils环境检测测试",
|
||||
"验证环境信息工具类核心功能,输出环境标识+完整环境报告",
|
||||
@@ -260,9 +264,7 @@ public class ConsoleCmdAutoTest {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
// 执行工具类自测
|
||||
EnvInfoUtils.test();
|
||||
// 验证核心函数有效性
|
||||
String envFlag = EnvInfoUtils.getEnvFlag();
|
||||
String javaVer = EnvInfoUtils.getEnvInfo(EnvInfoUtils.PROP_JAVA_VERSION);
|
||||
if (!EmailSendUtils.isStrEmpty(envFlag) && !EmailSendUtils.isStrEmpty(javaVer)) {
|
||||
@@ -280,7 +282,7 @@ public class ConsoleCmdAutoTest {
|
||||
}
|
||||
));
|
||||
|
||||
// 用例03:help指令响应测试(索引同步后移)
|
||||
// 用例04:help指令响应测试
|
||||
testCaseList.add(new TestCase(
|
||||
"help指令响应测试",
|
||||
"验证help指令能否正常打印帮助信息",
|
||||
@@ -300,45 +302,59 @@ public class ConsoleCmdAutoTest {
|
||||
}
|
||||
));
|
||||
|
||||
// 用例04:selftestmail指令测试 - 用无参test()+精简日志+精准排错(索引同步后移)
|
||||
// 用例05:selftestmail指令测试(优化版)
|
||||
testCaseList.add(new TestCase(
|
||||
"selftestmail指令测试",
|
||||
"验证邮件自测功能(需配置INI邮箱账号、授权码,且依赖齐全)",
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
TestCase currentCase = testCaseList.get(4);
|
||||
try {
|
||||
LogUtils.d(TAG, "邮件自测开始,使用无参test自动生成测试码");
|
||||
LogUtils.d(TAG, "邮件自测开始,前置校验配置+独立初始化");
|
||||
|
||||
// 1. 先检查配置是否就绪,不就绪先初始化
|
||||
if (!emailUtils.isConfigInited()) {
|
||||
LogUtils.d(TAG, "邮件配置未初始化,尝试自动初始化");
|
||||
boolean initOk = emailUtils.initEmailConfig();
|
||||
if (!initOk) {
|
||||
testCaseList.get(4).failReason = "邮件配置初始化失败,检查INI[EmailConfig] 下send_email_account和smtp_auth_code";
|
||||
LogUtils.w(TAG, "【用例结果】selftestmail指令测试失败:" + testCaseList.get(4).failReason);
|
||||
return;
|
||||
}
|
||||
// 1. 前置核心配置校验
|
||||
String sendEmail = IniConfigUtils.getConfigValue(CONFIG_SECTION_EMAIL, CONFIG_KEY_SEND_EMAIL, "");
|
||||
String authCode = IniConfigUtils.getConfigValue(CONFIG_SECTION_EMAIL, CONFIG_KEY_SMTP_AUTH_CODE, "");
|
||||
if (EmailSendUtils.isStrEmpty(sendEmail)) {
|
||||
currentCase.failReason = "INI[EmailConfig]中send_email_account未配置";
|
||||
LogUtils.w(TAG, "【用例结果】selftestmail指令测试失败:" + currentCase.failReason);
|
||||
return;
|
||||
}
|
||||
if (EmailSendUtils.isStrEmpty(authCode)) {
|
||||
currentCase.failReason = "INI[EmailConfig]中smtp_auth_code未配置(需QQ邮箱SMTP授权码,非登录密码)";
|
||||
LogUtils.w(TAG, "【用例结果】selftestmail指令测试失败:" + currentCase.failReason);
|
||||
return;
|
||||
}
|
||||
|
||||
// 2. 核心更新:调用无参test(),自动生成测试码,简洁高效
|
||||
// 2. 独立初始化邮件配置
|
||||
LogUtils.d(TAG, "邮件配置未初始化,执行独立初始化");
|
||||
boolean initOk = emailUtils.initEmailConfig();
|
||||
if (!initOk) {
|
||||
currentCase.failReason = "邮件配置初始化失败,排查:1.配置项格式 2.网络连通smtp.qq.com 3.依赖包完整";
|
||||
LogUtils.w(TAG, "【用例结果】selftestmail指令测试失败:" + currentCase.failReason);
|
||||
return;
|
||||
}
|
||||
|
||||
// 3. 执行核心自测
|
||||
LogUtils.d(TAG, "邮件配置初始化成功,执行自测");
|
||||
boolean testResult = emailUtils.test();
|
||||
if (testResult) {
|
||||
testCaseList.get(4).isPass = true;
|
||||
LogUtils.d(TAG, "【用例结果】selftestmail指令测试通过");
|
||||
currentCase.isPass = true;
|
||||
LogUtils.d(TAG, "【用例结果】selftestmail指令测试通过,自测邮件已发送");
|
||||
} else {
|
||||
testCaseList.get(4).failReason = "邮件发送失败,排查方向:1.授权码正确 2.邮箱开启SMTP 3.网络通畅 4.依赖齐全";
|
||||
LogUtils.w(TAG, "【用例结果】selftestmail指令测试失败:" + testCaseList.get(4).failReason);
|
||||
currentCase.failReason = "邮件发送失败,排查方向:1.授权码有效 2.QQ邮箱已开启POP3/SMTP 3.465端口未被拦截 4.Java协议兼容";
|
||||
LogUtils.w(TAG, "【用例结果】selftestmail指令测试失败:" + currentCase.failReason);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
testCaseList.get(4).failReason = "邮件自测异常:" + e.getMessage() + "(已修复AWT依赖,优先检查邮件配置)";
|
||||
LogUtils.w(TAG, "【用例结果】selftestmail指令测试异常:" + testCaseList.get(4).failReason, e);
|
||||
currentCase.failReason = "邮件自测执行异常:" + e.getMessage() + "(已兼容Java7+防AWT,优先查配置和网络)";
|
||||
LogUtils.w(TAG, "【用例结果】selftestmail指令测试异常:" + currentCase.failReason, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
));
|
||||
|
||||
// 用例05:clearverifycode指令测试(索引同步后移)
|
||||
// 用例06:clearverifycode指令测试
|
||||
testCaseList.add(new TestCase(
|
||||
"clearverifycode指令测试",
|
||||
"验证清空验证码指令能否清空MailAuthUtils缓存",
|
||||
@@ -363,7 +379,7 @@ public class ConsoleCmdAutoTest {
|
||||
}
|
||||
));
|
||||
|
||||
// 用例06:testserver指令测试(索引同步后移)
|
||||
// 用例07:testserver指令测试
|
||||
testCaseList.add(new TestCase(
|
||||
"testserver指令测试",
|
||||
"验证服务器连通性测试指令能否正常执行",
|
||||
@@ -383,7 +399,7 @@ public class ConsoleCmdAutoTest {
|
||||
}
|
||||
));
|
||||
|
||||
// 用例07:未识别指令测试(索引同步后移)
|
||||
// 用例08:未识别指令测试
|
||||
testCaseList.add(new TestCase(
|
||||
"未识别指令测试",
|
||||
"验证输入未知指令能否正常提示",
|
||||
@@ -402,7 +418,7 @@ public class ConsoleCmdAutoTest {
|
||||
}
|
||||
));
|
||||
|
||||
// 用例08(最后执行):exit指令逻辑测试(索引同步后移)
|
||||
// 用例09(最后执行):exit指令逻辑测试
|
||||
testCaseList.add(new TestCase(
|
||||
"exit指令逻辑测试",
|
||||
"验证exit指令核心处理逻辑有效性",
|
||||
|
||||
@@ -17,9 +17,11 @@ import javax.mail.internet.MimeMessage;
|
||||
* 新增:公开静态空值校验方法 isStrEmpty,供外部类调用
|
||||
* 本次修复:终极规避AWT依赖,配合补丁类彻底解决java.awt.datatransfer.Transferable缺失异常
|
||||
* 新增无参test():自动生成6位测试码,快速自测邮件配置
|
||||
* 补充修复:集成SSL协议兼容配置,解决QQ邮箱465端口SSLHandshakeException
|
||||
* 新增main入口:单一入口调用测试,整合所有测试逻辑
|
||||
* @Author 豆包&ZhanGSKen<zhangsken@qq.com>
|
||||
* @Date 2026-01-15 00:00:00
|
||||
* @LastEditTime 2026-01-26 补全防AWT配置,兼容android-30.jar不冲突
|
||||
* @LastEditTime 2026-01-26 新增main入口+整合测试逻辑,兼容Java7规范
|
||||
*/
|
||||
public class EmailSendUtils {
|
||||
private static final String TAG = "EmailSendUtils";
|
||||
@@ -82,6 +84,11 @@ public class EmailSendUtils {
|
||||
}
|
||||
LogUtils.d(TAG, "initEmailConfig 函数调用,开始初始化邮件配置");
|
||||
|
||||
// ========== 核心修复:SSL协议兼容配置(解决握手失败)- Java7适配 ==========
|
||||
java.security.Security.setProperty("jdk.tls.disabledAlgorithms", "");
|
||||
System.setProperty("https.protocols", "SSLv3,TLSv1,TLSv1.1,TLSv1.2");
|
||||
System.setProperty("javax.net.ssl.trustStoreType", "JKS");
|
||||
|
||||
// 读取INI配置(精简key名,直接关联配置段)
|
||||
String smtpHost = IniConfigUtils.getConfigValue(CONFIG_SECTION_EMAIL, "smtp_host", DEFAULT_SMTP_HOST);
|
||||
String smtpPort = IniConfigUtils.getConfigValue(CONFIG_SECTION_EMAIL, "smtp_port", DEFAULT_SMTP_PORT);
|
||||
@@ -122,11 +129,11 @@ public class EmailSendUtils {
|
||||
try {
|
||||
// 创建邮件会话(匿名内部类,适配Java7)
|
||||
mailSession = Session.getInstance(mailProps, new Authenticator() {
|
||||
@Override
|
||||
protected PasswordAuthentication getPasswordAuthentication() {
|
||||
return new PasswordAuthentication(fromEmail, smtpAuthCode);
|
||||
}
|
||||
});
|
||||
@Override
|
||||
protected PasswordAuthentication getPasswordAuthentication() {
|
||||
return new PasswordAuthentication(fromEmail, smtpAuthCode);
|
||||
}
|
||||
});
|
||||
mailSession.setDebug(false);
|
||||
isConfigInited = true; // 标记初始化完成
|
||||
LogUtils.i(TAG, "邮件发送配置初始化完成,发送方邮箱:" + fromEmail + " 发送方昵称:" + (isEmpty(fromNickname) ? "默认昵称" : fromNickname));
|
||||
@@ -139,34 +146,39 @@ public class EmailSendUtils {
|
||||
}
|
||||
|
||||
/**
|
||||
* 【新增无参自测】自动生成6位测试码,快速校验邮件配置(最常用)
|
||||
* 无需传参,一键自测,适配快速验证场景
|
||||
* @return 自测成功返回true,失败返回false
|
||||
* 整合型单元测试入口(核心测试函数)
|
||||
* 初始化环境+生成测试码+发送自测邮件,整合所有测试逻辑
|
||||
* @return 测试成功返回true,失败返回false
|
||||
*/
|
||||
public boolean test() {
|
||||
// 自动生成6位纯数字测试码,和验证码规则一致
|
||||
String testCode = String.valueOf((int)(Math.random() * 900000 + 100000));
|
||||
LogUtils.d(TAG, "无参test()调用,自动生成测试码:" + testCode);
|
||||
return test(testCode);
|
||||
}
|
||||
|
||||
/**
|
||||
* 单元测试专用函数(适配新测试用例,单例调用)
|
||||
* @param testCode 自定义测试码
|
||||
* @return 测试邮件发送成功返回true,否则false
|
||||
*/
|
||||
public boolean test(String testCode) {
|
||||
LogUtils.d(TAG, "test() 函数调用,开始邮件工具类单元测试");
|
||||
// 未初始化则自动执行,失败直接终止
|
||||
if (!isConfigInited) {
|
||||
LogUtils.w(TAG, "邮件会话未初始化,自动执行配置初始化");
|
||||
boolean initResult = initEmailConfig();
|
||||
if (!initResult) {
|
||||
LogUtils.e(TAG, "自动初始化失败,单元测试终止");
|
||||
return false;
|
||||
}
|
||||
// 1. 先初始化INI配置
|
||||
boolean iniInit = IniConfigUtils.init();
|
||||
if (!iniInit) {
|
||||
return false;
|
||||
}
|
||||
return sendSelfTestEmail(testCode);
|
||||
|
||||
LogUtils.d(TAG, "===== 邮件工具类整合单元测试启动 =====");
|
||||
// 1. 初始化配置环境
|
||||
boolean initResult = initEmailConfig();
|
||||
if (!initResult) {
|
||||
LogUtils.e(TAG, "环境初始化失败,单元测试终止");
|
||||
System.err.println("❌ 环境初始化失败!");
|
||||
LogUtils.d(TAG, "===== 邮件工具类整合单元测试失败 =====");
|
||||
return false;
|
||||
}
|
||||
|
||||
// 2. 生成6位测试码
|
||||
String testCode = String.valueOf((int)(Math.random() * 900000 + 100000));
|
||||
LogUtils.d(TAG, "生成测试验证码:" + testCode);
|
||||
|
||||
// 3. 发送自测邮件(核心测试步骤)
|
||||
boolean sendResult = sendSelfTestEmail(testCode);
|
||||
if (sendResult) {
|
||||
LogUtils.i(TAG, "===== 邮件工具类整合单元测试成功 =====");
|
||||
} else {
|
||||
LogUtils.e(TAG, "===== 邮件工具类整合单元测试失败 =====");
|
||||
}
|
||||
return sendResult;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -305,9 +317,18 @@ public class EmailSendUtils {
|
||||
fromNickname = null;
|
||||
}
|
||||
|
||||
// ========== 对外提供初始化状态查询(适配测试用例调用) ==========
|
||||
// ========== 对外提供初始化状态查询 ==========
|
||||
public boolean isConfigInited() {
|
||||
return this.isConfigInited;
|
||||
}
|
||||
|
||||
// ========== 程序入口main函数(单一测试入口) ==========
|
||||
public static boolean main(String[] args) {
|
||||
// 调用整合型单元测试,一键完成初始化+自测
|
||||
boolean testResult = EmailSendUtils.getInstance().test();
|
||||
// 退出程序,0=成功,1=失败
|
||||
System.exit(testResult ? 0 : 1);
|
||||
return testResult;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user