We might be interested in starting to incorporate a unit test suite to our project, which is coded in Python (and it uses Redis, PostgreSQL and some third-party libraries, if that bears into the solution). The benefits we want to achieve are:
- Once the project is up to speed, we want to be able to specify new behavior quickly and efficiently, to help improve communication and team productivity. Read: We want BDD, but have already started coding without it.
- Excellent textual support (i.e. the tests can be read almost as natural text), so as to make it easier to write and read tests.
- Ability to automatically run tests (at the very least, to be able to include the running in a Bash script or something like that). We use Windows and Linux for development, and Linux servers, so Linux support is our primary requirement.
- Integration with github. I don't know if it is possible, but I've seen some projects in github which have a "Passing" or "Failing" status on them and it would be great to have that for our project.
What are good tools / libraries that can help us do this, and, most importantly, what are good ways to incorporate BDD into a Python project?
Thank you very much! Any suggestions are appreciated.