@@ -18,15 +18,13 @@ def main() -> None:
1818 return
1919
2020 passed = failed = skipped = 0
21- suite_lines = []
21+ by_class : dict [ str , list [ str ]] = {}
2222
2323 for path in paths :
2424 root = ET .parse (path ).getroot ()
25- suite_name = root .get ("name" , path )
26- cases = root .findall ("testcase" )
27- suite_lines .append (f"\n ### { suite_name } " )
28- for case in cases :
25+ for case in root .findall ("testcase" ):
2926 case_name = case .get ("name" )
27+ classname = case .get ("classname" , root .get ("name" , path ))
3028 if case .find ("failure" ) is not None or case .find ("error" ) is not None :
3129 status = "❌"
3230 failed += 1
@@ -36,13 +34,15 @@ def main() -> None:
3634 else :
3735 status = "✅"
3836 passed += 1
39- suite_lines .append (f"- { status } { case_name } " )
37+ by_class . setdefault ( classname , []) .append (f"- { status } { case_name } " )
4038
4139 total = passed + failed + skipped
4240 badge = "✅" if failed == 0 else "❌"
4341 print (f"## { badge } { title } \n " )
4442 print (f"**{ total } 개 중 { passed } 통과 / { failed } 실패 / { skipped } 스킵**" )
45- print ("" .join (line + "\n " for line in suite_lines ))
43+ for classname in sorted (by_class ):
44+ print (f"\n ### { classname } " )
45+ print ("\n " .join (by_class [classname ]))
4646
4747
4848if __name__ == "__main__" :
0 commit comments