Update json_to_md.py
Run Pytest with HTML and XML Test Reports / tests (push) Successful in 21s

This commit is contained in:
2025-07-16 02:39:24 +02:00
parent e8392274e2
commit 155ada621f
+11 -28
View File
@@ -52,42 +52,25 @@ def make_test_block(test, status, emoji, level):
nodeid = test.get("nodeid", "")
param_str = extract_param_str_from_nodeid(nodeid)
# 🔹 Récupération automatique des champs avant 'nodeid'
pre_nodeid_fields = []
for key in test:
if key == "nodeid":
break
pre_nodeid_fields.append(key)
body_test = ""
for key in pre_nodeid_fields:
val = test[key]
if val is None:
body_test += f"- **{key.capitalize()}:** `None`\n"
else:
body_test += f"- **{key.capitalize()}:** `{stringify(val)}`\n"
if param_str:
body_test += f"- **Parameters:** `{param_str}`\n"
# 🔁 Identifier dynamiquement les phases (dictionnaires après nodeid)
skip_keys = set(pre_nodeid_fields + ["nodeid"])
skip_keys = set(["nodeid"])
phase_keys = [k for k in test.keys() if isinstance(test[k], dict) and k not in skip_keys]
for phase in phase_keys:
phase_body = ""
for field, value in test[phase].items():
if value is None:
phase_body += f"- **{field.capitalize()}:** None\n"
else:
details_body = "\n"
details_body += stringify(value) + "\n"
details_body += "\n"
phase_body += get_details_block(f"📌 {field.capitalize()}", details_body, level+2)
if phase_body:
body_test += f"\n### 🔧 {phase.capitalize()} Phase\n\n" + phase_body
for field, value in test[phase].items(): # 🟢 ici l'indentation est corrigée
if value is None:
phase_body += f"- **{field.capitalize()}:** None\n"
else:
details_body = "```\n"
details_body += stringify(value) + "\n"
details_body += "```\n"
phase_body += get_details_block(f"📌 {field.capitalize()}", details_body, level+2)
if phase_body:
body_test += f"\n### 🔧 {phase.capitalize()} Phase\n\n" + phase_body
# Ajoute param_str au résumé si dispo
return get_details_block(f"{emoji} #{test['global_number']}", body_test, level+1, params_str=param_str)