chore: better test failure hints
All checks were successful
build / build (push) Successful in 1m58s

This commit is contained in:
张泊明518370910136 2025-03-18 04:21:28 -04:00
parent d5780c5837
commit 4103b18673
GPG Key ID: D47306D7062CDA9D
3 changed files with 25 additions and 2 deletions

View File

@ -1,3 +1,4 @@
import difflib
import json import json
from pathlib import Path from pathlib import Path
@ -15,4 +16,11 @@ def load_case(case_name: str) -> None:
result = convert_joj3_conf(repo_conf, task_conf).model_dump( result = convert_joj3_conf(repo_conf, task_conf).model_dump(
mode="json", by_alias=True, exclude_none=True mode="json", by_alias=True, exclude_none=True
) )
if result != expected_result:
result_str = json.dumps(result, indent=2, ensure_ascii=False).splitlines()
expected_str = json.dumps(
expected_result, indent=2, ensure_ascii=False
).splitlines()
diff = "\n".join(difflib.ndiff(expected_str, result_str))
print(f"Test case '{case_name}' failed!\nDifferences:\n{diff}")
assert result == expected_result assert result == expected_result

View File

@ -1,3 +1,5 @@
import difflib
import json
from pathlib import Path from pathlib import Path
import tomli import tomli
@ -16,4 +18,11 @@ def load_case(case_name: str) -> None:
result = convert_joj1_conf(task_yaml).model_dump( result = convert_joj1_conf(task_yaml).model_dump(
mode="json", by_alias=True, exclude_none=True mode="json", by_alias=True, exclude_none=True
) )
if result != expected_result:
result_str = json.dumps(result, indent=2, ensure_ascii=False).splitlines()
expected_str = json.dumps(
expected_result, indent=2, ensure_ascii=False
).splitlines()
diff = "\n".join(difflib.ndiff(expected_str, result_str))
print(f"Test case '{case_name}' failed!\nDifferences:\n{diff}")
assert result == expected_result assert result == expected_result

View File

@ -1,3 +1,4 @@
import difflib
import json import json
from pathlib import Path from pathlib import Path
@ -20,6 +21,11 @@ def load_case(case_name: str) -> None:
result = create_joj3_task_conf(answers).model_dump( result = create_joj3_task_conf(answers).model_dump(
mode="json", by_alias=True, exclude_none=True, exclude_unset=True mode="json", by_alias=True, exclude_none=True, exclude_unset=True
) )
print(result) if result != expected_result:
print(expected_result) result_str = json.dumps(result, indent=2, ensure_ascii=False).splitlines()
expected_str = json.dumps(
expected_result, indent=2, ensure_ascii=False
).splitlines()
diff = "\n".join(difflib.ndiff(expected_str, result_str))
print(f"Test case '{case_name}' failed!\nDifferences:\n{diff}")
assert result == expected_result assert result == expected_result