Integrating with packaging tools
Packaging refers to how Python packages are generally distributed to users. Unless we are writing proprietary commercial software, we will want to distribute the unit tests along with the code and allow the end user to run the tests and verify that everything is working.
Packaging tools have been one of the most confusing parts of the Python ecosystem. There have been a number of different frameworks that, at different points, have been "the right way" to do things. As this book is being written, setuptools is the recommended way to package Python modules, so let us take a look at that first.
Setuptools
Setuptools supports a test command for running the test suite. All we need to do is to configure it. We do this by specifying the test_suite
parameter in setup.py
as follows:
from setuptools import setup, find_packages setup( name="StockAlerter", version="0.1", packages=find_packages(), test_suite="stock_alerter.tests", )
When we do this, setuptools...