test(onboarding): 版本号从模板动态取,消除硬编码
All checks were successful
Push & PR Check / check (push) Successful in 1m0s
All checks were successful
Push & PR Check / check (push) Successful in 1m0s
模板升版(1.2.0→1.3.0)暴露测试硬编码版本号——每次升版测试必断。 改为 extract_managed_block + block_version 动态取,升版不再碰测试。
This commit is contained in:
parent
46640783f9
commit
1c44bfe30a
@ -459,8 +459,15 @@ mod tests {
|
|||||||
assert_eq!(agents_r.action, "skipped");
|
assert_eq!(agents_r.action, "skipped");
|
||||||
|
|
||||||
// 态二(旧版本):把版本改旧 + 块外加用户内容 → updated,块升级、用户内容保留
|
// 态二(旧版本):把版本改旧 + 块外加用户内容 → updated,块升级、用户内容保留
|
||||||
|
// 版本号从模板动态取,避免模板升版时测试跟着改(曾因硬编码 1.2.0 断裂)
|
||||||
|
let tpl_ver = extract_managed_block(TMPL_AGENTS)
|
||||||
|
.and_then(block_version)
|
||||||
|
.expect("模板必须带版本标记");
|
||||||
let old = agents
|
let old = agents
|
||||||
.replace("version=\"1.2.0\"", "version=\"1.0.0\"")
|
.replace(
|
||||||
|
&format!("version=\"{tpl_ver}\""),
|
||||||
|
"version=\"1.0.0\"",
|
||||||
|
)
|
||||||
.replace("## 项目概况", "## 项目概况
|
.replace("## 项目概况", "## 项目概况
|
||||||
|
|
||||||
我的项目说明")
|
我的项目说明")
|
||||||
@ -473,7 +480,10 @@ mod tests {
|
|||||||
let agents_r = r3.iter().find(|t| t.name == "AGENTS.md").unwrap();
|
let agents_r = r3.iter().find(|t| t.name == "AGENTS.md").unwrap();
|
||||||
assert_eq!(agents_r.action, "updated");
|
assert_eq!(agents_r.action, "updated");
|
||||||
let upgraded = std::fs::read_to_string(base.join("AGENTS.md")).unwrap();
|
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!(upgraded.contains("用户自加的章节"), "块外用户内容(后)须保留");
|
assert!(upgraded.contains("用户自加的章节"), "块外用户内容(后)须保留");
|
||||||
assert_eq!(upgraded.matches(MANAGED_START).count(), 1, "只有一个管理块");
|
assert_eq!(upgraded.matches(MANAGED_START).count(), 1, "只有一个管理块");
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user