DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» is a community of 967,911 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

Create account Log in
Reece Dunham
Reece Dunham

Posted on

Setting up Python unittests with GitHub annotations

Hello!
This is my first post on DEV, so I'm going to try to make this quick and simple.

If you want inline examples of exactly where your code is failing, you can integrate Cirrus CI with GitHub annotations. This is super simple to do.

  1. Start off by writing unittests. This is super simple.
  2. Setup a basic CI pipeline (.cirrus.yml file). You will want to do something like this:
tests_task:
  # define Docker container
  container:
    image: python:latest

  # install project requirements and the annotation result builder
  install_script: |
    pip install -r ./some-requirements-file.txt
    pip install unittest-xml-reporting

  # normally, you would run unittests with the main command
  # we need to build XML reports, so use this command
  script: python3 -m xmlrunner tests
  # replace tests with the name of the module your unittests are in

  # (always) upload results - even if the tests fail
  always:
    unittest_results_artifacts:
      # where the outputted XML files are
      path: ./*.xml
      # required, even though it sounds wrong
      format: junit
Enter fullscreen mode Exit fullscreen mode

And that is all you need to do!
You should then get annotations.

Have a nice day!

Top comments (0)

Take a look at this:

Settings

Go to your customization settings to nudge your home feed to show content more relevant to your developer experience level. πŸ›