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: if tabular_data:
util.print_labeled_bar(
"SUMMARY",
is_error=is_error,
fg="red" if is_error else "green",
)
click.echo( click.echo(
tabulate( tabulate(
tabular_data, tabular_data,
@ -59,6 +64,9 @@ class StdoutTestReport(TestReportBase):
err=is_error, err=is_error,
) )
if failed_nums:
self.print_failed_test_cases()
util.print_labeled_bar( util.print_labeled_bar(
"%d test cases: %s%s%d succeeded in %s" "%d test cases: %s%s%d succeeded in %s"
% ( % (
@ -71,3 +79,21 @@ class StdoutTestReport(TestReportBase):
is_error=is_error, is_error=is_error,
fg="red" if is_error else "green", 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 # test JUnit output
junit_testsuites = ET.parse(junit_output_path).getroot() 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("errors")) == 2
assert int(junit_testsuites.get("failures")) == 1 assert int(junit_testsuites.get("failures")) == 1
assert len(junit_testsuites.findall("testsuite")) == 6 assert len(junit_testsuites.findall("testsuite")) == 6