Update json_to_md.py
Run Pytest with Allure and Coverage Reports / tests (push) Successful in 55s
Run Pytest with Allure and Coverage Reports / deploy (push) Has been skipped

This commit is contained in:
2025-07-10 16:52:28 +02:00
parent c5f0609a25
commit 6a34c8d736
+34 -18
View File
@@ -69,29 +69,45 @@ def json_to_md_nested(json_path, md_path, allure_dir=None):
f.write(f"- **Durée totale**: `{duration:.3f}`s\n" if duration else "- **Durée totale**: `None`\n")
f.write("\n")
if "collectors" in data:
f.write("## 📚 Collectés\n")
# Grouper par dossier principal
grouped = defaultdict(list)
for collector in data["collectors"]:
outcome = collector.get("outcome", "unknown")
emoji = "" if outcome == "passed" else ""
nodeid = collector.get("nodeid", "unknown")
short_node = nodeid.split("[")[0]
f.write(f"<details>\n<summary>{emoji} `{short_node}`</summary>\n\n")
f.write(f"- **outcome:** `{outcome}`\n")
results = collector.get("result", [])
if results:
f.write("- **result:**\n```\n")
for item in results:
if isinstance(item, dict):
for k, v in item.items():
f.write(f"{k}: {v}\n")
f.write("\n")
else:
f.write(f"{item}\n")
f.write("```\n")
else:
f.write("- **result:** `None`\n")
path = nodeid.split("::")[0]
main_folder = path.split("/")[0] if "/" in path else path
grouped[main_folder].append(collector)
for folder, collectors in grouped.items():
f.write(f"<details>\n<summary>📁 `{folder}` ({len(collectors)} tests)</summary>\n\n")
for collector in collectors:
outcome = collector.get("outcome", "unknown")
emoji = "" if outcome == "passed" else ""
nodeid = collector.get("nodeid", "unknown")
short_node = nodeid.split("[")[0]
f.write(f"<details>\n<summary>{emoji} `{short_node}`</summary>\n\n")
f.write(f"- **outcome:** `{outcome}`\n")
results = collector.get("result", [])
if results:
f.write("- **result:**\n```\n")
for item in results:
if isinstance(item, dict):
for k, v in item.items():
f.write(f"{k}: {v}\n")
f.write("\n")
else:
f.write(f"{item}\n")
f.write("```\n")
else:
f.write("- **result:** `None`\n")
f.write("</details>\n\n")
f.write("</details>\n\n")
if "tests" in data and "summary" in data: