Seekfried / greedybot-d2irc

A pickupbot for managing Xonotic pickup games, that also syncs messages between Discord and IRC.
MIT License
2 stars 2 forks source link

Generate a CI/CD setup #35

Open nauar opened 3 months ago

nauar commented 3 months ago

As we are getting closer to the target version 1.0, we need to provide a full DevOps setup:

nauar commented 3 months ago

Testing

In our testing setup, we should at least provide unit testing and end-to-end testing.

Unit testing

Found two main tools for unit testing in Python: unittest and pytest.

According to this source, Pytest is known for its simplicity, scalability, and powerful features such as fixture support and parameterization. It has a concise syntax and a rich plugin ecosystem. On the other hand, unittest is a built-in testing framework that follows the xUnit style and is part of the Python Standard Library.

We will try with unittest due to we need basic unit testing for this simple bot.

End-to-end testing

Found several options: Pytest (again), Robot Framework, behave, and lettuce.

We will try with behave.