diff --git a/.gitignore b/.gitignore
index e6eb0e8c3e1428e6e971a26d57d915f15e9c3e13..f0eebe04318cf88f96178c735ccff288d8112198 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,5 +19,8 @@ website/.sass-cache/
 # rope
 .ropeproject/
 
+# Coverage
+.coverage
+
 # venv from source_me.sh
 venv/
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index dc1451ec4cee7c808f353c71a200cb486a3c324e..c59d5d30d4b27d48e561ffd21c455eaf6eae0338 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -20,9 +20,11 @@ pep8:
     - export PIP_CACHE_DIR="pip-cache"
     - mkdir -p pip-cache
     - git log -1
-    - pip install tox
+    - pip install tox coverage
   script:
     - tox -e $PYTHON_VERSION
+    - cd website
+    - coverage report
 
 python34:
   <<: *djangotest
diff --git a/tox.ini b/tox.ini
index b0ccec401d88c6df266eb13071cad5f749a166a4..8381e419c393237f4f11e699cae6b4f0da9d074a 100644
--- a/tox.ini
+++ b/tox.ini
@@ -8,9 +8,10 @@ commands =
     python manage.py check
     python manage.py templatecheck --project-only
     python manage.py makemigrations --no-input --check --dry-run
-    python -Wall manage.py test
+    python -Wall -mcoverage run --branch --source '.' manage.py test
 deps = 
     -r{toxinidir}/requirements.txt
+    coverage
     {env:CI_DEPS:}
 
 passenv = GITLAB_CI