document integration with setuptools/distribute test command and tests_require

This commit is contained in:
Ronny Pfannschmidt 2012-03-15 15:15:21 +01:00
parent ee8d2f9950
commit 2b0887fa5f
2 changed files with 36 additions and 0 deletions

View File

@ -3,6 +3,8 @@ Changese between 2.2.3 and ...
- fix issue 126: correctly match all invalid xml characters for junitxml
binary escape
- document integration with the extended distribute/setuptools test commands
Changes between 2.2.2 and 2.2.3
----------------------------------------

View File

@ -94,6 +94,40 @@ options.
.. _`test discovery`:
.. _`Python test discovery`:
Integration with setuptools/distribute test commands
----------------------------------------------------
Distribute/Setuptools support test requirements,
which means its really easy to extend its test command
to support running a pytest from test requirements::
from setuptools.command.test import test as TestCommand
class PyTest(TestCommand):
def finalize_options(self):
TestCommand.finalize_options(self)
self.test_args = []
self.test_suite = True
def run_tests(self):
#import here, cause outside the eggs aren't loaded
import pytest
pytest.main(self.test_args)
setup(
...,
tests_require=['pytest'],
cmdclass = {'test': pytest},
)
Now if you run::
python setup.py test
this will download py.test if needed and then run py.test
as you would expect it to.
Conventions for Python test discovery
-------------------------------------------------