I discovered an interesting little helper for Github Actions that improves developer experience by making tests easier to parse visually.

First, a quick look at the finished result.

test

Cool, isn’t it? I was surprised that it was quite easy to set up using test-reporter. It supports a variety of test formats, including java-junit (experimental still).

pytest is able to write a test report in jUnit format using the --junitxml flag (source).

With this feature, we can output a report from out test suite, running pytest --junitxml report.xml. Inside the Github Actions pipeline, the next step picks up the file. We simply define the step as follows:

- name: Test Report
  uses: dorny/test-reporter@v1
  if: success() || failure()    # run this step even if previous step failed
  with:
    name: pytest test results            # Name of the check run which will be created
    path: report.xml    # Path to test results
    reporter: java-junit        # Format of test results

This is all that’s needed to generate the output shown in my screenshot. You can find a minimal example for this fun little experiment on Github.