Show list of failed tests in the summary // Resolve #4251

This commit is contained in:
Ivan Kravets
2022-05-03 19:30:15 +03:00
parent 0849e5faad
commit b12d9f62b9
2 changed files with 27 additions and 1 deletions

View File

@ -48,6 +48,11 @@ class StdoutTestReport(TestReportBase):
)
if tabular_data:
util.print_labeled_bar(
"SUMMARY",
is_error=is_error,
fg="red" if is_error else "green",
)
click.echo(
tabulate(
tabular_data,
@ -59,6 +64,9 @@ class StdoutTestReport(TestReportBase):
err=is_error,
)
if failed_nums:
self.print_failed_test_cases()
util.print_labeled_bar(
"%d test cases: %s%s%d succeeded in %s"
% (
@ -71,3 +79,21 @@ class StdoutTestReport(TestReportBase):
is_error=is_error,
fg="red" if is_error else "green",
)
def print_failed_test_cases(self):
click.echo()
for test_suite in self.test_result.suites:
if test_suite.status != TestStatus.FAILED:
continue
util.print_labeled_bar(
click.style(
f"{test_suite.env_name}:{test_suite.test_name}", bold=True, fg="red"
),
is_error=True,
sep="_",
)
for test_case in test_suite.cases:
if test_case.status != TestStatus.FAILED:
continue
click.echo(test_case.stdout)
click.echo()

View File

@ -45,7 +45,7 @@ def test_calculator_example(tmp_path: Path):
# test JUnit output
junit_testsuites = ET.parse(junit_output_path).getroot()
assert int(junit_testsuites.get("tests")) == 11
assert int(junit_testsuites.get("tests")) == 10
assert int(junit_testsuites.get("errors")) == 2
assert int(junit_testsuites.get("failures")) == 1
assert len(junit_testsuites.findall("testsuite")) == 6