diff --git a/.travis.yml b/.travis.yml
index a5b8250f00133f692cf2b43e6617e9d7acc6b124..e0f2bc1d73c1ce8da58f8d5fa0b3869b8a6f12b6 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,12 +3,15 @@ cache:
   directories:
       - "$HOME/.cache"
       - "$HOME/.ccache"
+env:
+  - PYTHON_VERSION=2.7
+  - PYTHON_VERSION=3.5
 before_install:
     - ccache -s
     - export PATH=/usr/lib/ccache:${PATH}
     - wget https://package-data.enthought.com/edm/rh5_x86_64/1.4/edm_1.4.1_linux_x86_64.sh && bash ./edm_1.4.1_linux_x86_64.sh -b -p $HOME
     - export PATH=${HOME}/edm/bin:${PATH}
-    - edm environments create --version 3.5 force 
+    - edm environments create --version ${PYTHON_VERSION} force 
     - . $HOME/.edm/envs/force/bin/activate 
     - cat requirements/edm_requirements.txt | grep -v "^#" | while read line; do edm install -y `echo $line | awk '{print $1"=="$2}'`; done 
 install:
@@ -17,3 +20,9 @@ install:
 script:
     - pip install -r requirements/dev_requirements.txt
     - flake8 .
+    - python -m unittest discover
+after_success:
+    - coverage run -m unittest discover
+    - pip install codecov
+    - codecov
+    - bash <(curl -s https://codecov.io/bash)
diff --git a/requirements/dev_requirements.txt b/requirements/dev_requirements.txt
index 39304807fbc7bd47cb8a72ff873c076b694e4fbe..25152de514df123e93f67ab8e9c6737d5de4a45b 100644
--- a/requirements/dev_requirements.txt
+++ b/requirements/dev_requirements.txt
@@ -1 +1,2 @@
 flake8
+coverage