Skip to content

Commit dfdfd45

Browse files
committed
fix: 테스트 결과 코멘트에서 testcase의 classname으로 그루핑하도록 수정
connectedAndroidTest는 디바이스 1대당 XML 1개에 모든 클래스의 테스트를 합쳐서 쓰는데, testsuite 레벨 name은 첫 번째 클래스명만 가져서 나머지 클래스 테스트가 잘못 묶였음.
1 parent 5f5a0fd commit dfdfd45

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

.github/scripts/post_test_report.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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

4848
if __name__ == "__main__":

0 commit comments

Comments
 (0)