Update json_to_md.py
This commit is contained in:
+8
-7
@@ -2,6 +2,7 @@ from collections import defaultdict
|
||||
from pathlib import Path
|
||||
from datetime import datetime
|
||||
import json
|
||||
import argparse
|
||||
|
||||
def stringify(obj):
|
||||
if obj is None or obj == "":
|
||||
@@ -33,7 +34,7 @@ def extract_params(test):
|
||||
lines.append(f" - Param {i}: `{value.strip()}`")
|
||||
return "\n".join(lines)
|
||||
|
||||
def json_to_adaptive_md_grouped(json_path, md_path):
|
||||
def json_to_md_nested(json_path, md_path):
|
||||
with open(json_path) as f:
|
||||
data = json.load(f)
|
||||
|
||||
@@ -60,9 +61,9 @@ def json_to_adaptive_md_grouped(json_path, md_path):
|
||||
grouped[filename][funcname].append(test)
|
||||
|
||||
for filename, funcs in grouped.items():
|
||||
f.write(f"### 📁 {filename}\n\n")
|
||||
f.write(f"<details>\n<summary>📁 {filename}</summary>\n\n")
|
||||
for funcname, tests in funcs.items():
|
||||
f.write(f"#### 🔧 Fonction: `{funcname}`\n\n")
|
||||
f.write(f"<details>\n<summary>🔧 Fonction: `{funcname}`</summary>\n\n")
|
||||
for idx, test in enumerate(tests, 1):
|
||||
outcome = test.get("outcome", "unknown")
|
||||
icons = {"passed": "✅", "failed": "❌", "skipped": "⏭️", "error": "❗"}
|
||||
@@ -88,15 +89,15 @@ def json_to_adaptive_md_grouped(json_path, md_path):
|
||||
f.write("```\n\n")
|
||||
f.write("</details>\n")
|
||||
f.write("</details>\n\n")
|
||||
f.write("</details>\n\n")
|
||||
f.write("</details>\n\n")
|
||||
|
||||
def main():
|
||||
import argparse
|
||||
parser = argparse.ArgumentParser(description="Convertit un fichier JSON pytest en rapport Markdown.")
|
||||
parser = argparse.ArgumentParser(description="Convert JSON test results to Markdown.")
|
||||
parser.add_argument("--input", required=True, help="Chemin du fichier JSON d'entrée")
|
||||
parser.add_argument("--output", required=True, help="Chemin du fichier Markdown de sortie")
|
||||
args = parser.parse_args()
|
||||
|
||||
json_to_adaptive_md_grouped(args.input, args.output)
|
||||
json_to_md_nested(args.input, args.output)
|
||||
print(f"✅ Rapport généré dans {args.output}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Reference in New Issue
Block a user