diff --git a/README.md b/README.md
index a63ac35a54eebcad5f8603229aaa6fe2197ad6fa..a3ab1ba2fc53104b2e61fb65808ad41e3a2094d4 100644
--- a/README.md
+++ b/README.md
@@ -35,8 +35,10 @@ guide](doc/contributing.rst).
 Tests
 -----
 
-To run the tests, install `pytest` and `pytest-cov`, and then run:
+To run the tests, install `mock`, `pytest`, `pytest-runner`, `pytest-html`,
+and `pytest-cov`, and then run:
 
     python setup.py test
 
-A code coverage report will be generated in `htmlcov/`.
+A test report will be generated at `report.html`, and a code coverage report
+will be generated in `htmlcov/`.
diff --git a/pytest.ini b/pytest.ini
index 599c0c249814ef8da3a0efca547b52e16dcdb48b..4352354c39baad6c64cc31779521515065481c51 100644
--- a/pytest.ini
+++ b/pytest.ini
@@ -1,3 +1,3 @@
 [pytest]
 testpaths = tests
-addopts   = -v --niters=50 --cov=fsl --cov-report=html
+addopts   = -s -v --niters=50 --cov=fsl --cov-report=html --html=report.html
diff --git a/setup.py b/setup.py
index a83332d4a2c721261bb158086934d247e3aec18a..c793739fa383707ced42d2984d0953777a1325d7 100644
--- a/setup.py
+++ b/setup.py
@@ -37,7 +37,7 @@ with open(op.join(basedir, "fsl", "version.py")) as f:
     for line in f:
         if line.startswith('__version__'):
             exec(line, version)
-            break 
+            break
 
 with open(op.join(basedir, 'README.md'), 'rt') as f:
     readme = f.read()
@@ -45,9 +45,9 @@ with open(op.join(basedir, 'README.md'), 'rt') as f:
 
 class doc(Command):
     """Build the API documentation. """
-    
+
     user_options = []
-    
+
     def initialize_options(self):
         pass
 
@@ -64,12 +64,12 @@ class doc(Command):
 
         env   = dict(os.environ)
         ppath = [op.join(pkgutil.get_loader('fsl').filename, '..')]
-        
+
         env['PYTHONPATH'] = op.pathsep.join(ppath)
 
         print('Building documentation [{}]'.format(destdir))
 
-        sp.call(['sphinx-build', docdir, destdir], env=env) 
+        sp.call(['sphinx-build', docdir, destdir], env=env)
 
 
 setup(
@@ -102,7 +102,11 @@ setup(
     install_requires=install_requires,
 
     setup_requires=['pytest-runner'],
-    tests_require=['pytest', 'mock', 'pytest-cov', 'pytest-runner'],
+    tests_require=['pytest',
+                   'mock',
+                   'pytest-cov',
+                   'pytest-html',
+                   'pytest-runner'],
     test_suite='tests',
 
     cmdclass={'doc' : doc},