From 1c44bfe30a2966c25e2cc8afe7c663fc876c5058 Mon Sep 17 00:00:00 2001 From: lanrtop Date: Mon, 6 Jul 2026 22:59:24 +0900 Subject: [PATCH] =?UTF-8?q?test(onboarding):=20=E7=89=88=E6=9C=AC=E5=8F=B7?= =?UTF-8?q?=E4=BB=8E=E6=A8=A1=E6=9D=BF=E5=8A=A8=E6=80=81=E5=8F=96=EF=BC=8C?= =?UTF-8?q?=E6=B6=88=E9=99=A4=E7=A1=AC=E7=BC=96=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 模板升版(1.2.0→1.3.0)暴露测试硬编码版本号——每次升版测试必断。 改为 extract_managed_block + block_version 动态取,升版不再碰测试。 --- src-tauri/src/commands/onboarding.rs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src-tauri/src/commands/onboarding.rs b/src-tauri/src/commands/onboarding.rs index be9810c..b865e8d 100644 --- a/src-tauri/src/commands/onboarding.rs +++ b/src-tauri/src/commands/onboarding.rs @@ -459,8 +459,15 @@ mod tests { assert_eq!(agents_r.action, "skipped"); // 态二(旧版本):把版本改旧 + 块外加用户内容 → updated,块升级、用户内容保留 + // 版本号从模板动态取,避免模板升版时测试跟着改(曾因硬编码 1.2.0 断裂) + let tpl_ver = extract_managed_block(TMPL_AGENTS) + .and_then(block_version) + .expect("模板必须带版本标记"); let old = agents - .replace("version=\"1.2.0\"", "version=\"1.0.0\"") + .replace( + &format!("version=\"{tpl_ver}\""), + "version=\"1.0.0\"", + ) .replace("## 项目概况", "## 项目概况 我的项目说明") @@ -473,7 +480,10 @@ mod tests { let agents_r = r3.iter().find(|t| t.name == "AGENTS.md").unwrap(); assert_eq!(agents_r.action, "updated"); let upgraded = std::fs::read_to_string(base.join("AGENTS.md")).unwrap(); - assert!(upgraded.contains("version=\"1.2.0\""), "块应升级到模板版本"); + assert!( + upgraded.contains(&format!("version=\"{tpl_ver}\"")), + "块应升级到模板版本" + ); assert!(upgraded.contains("我的项目说明"), "块外用户内容(前)须保留"); assert!(upgraded.contains("用户自加的章节"), "块外用户内容(后)须保留"); assert_eq!(upgraded.matches(MANAGED_START).count(), 1, "只有一个管理块");