Since we're responsible developers, we have written a full suite of unit tests for our application. For now, tests are run manually inside our Docker container. The Docker image used has py.test
installed, as well as some coverage tools.
The only dependency to running tests is PostgreSQL. Docker again makes it very simple to run a PostgreSQL container and hook it up to our application container. Multiple strategies exist for this, from running Docker Compose to merely starting up a container with docker run
and linking the containers manually. For simplicity, I use the latter option. See the targets in the repository Makefile
for details.
To run tests, inside the container, we execute make tests
. I have trimmed much of the output for brevity and clarity:
root@d8dd5cc4bb86:/code# make tests py.test --cov=serverless/ --cov-report=html tests/ Connected to: postgresql://postgres:@cupping-rltest-postgres:5432/test_cupping_log ........ ==== test session starts ==== platform linux -...