2016-09-28 03:51:46 +08:00
|
|
|
Using pytest with an existing test suite
|
|
|
|
===========================================
|
|
|
|
|
2017-04-07 10:02:47 +08:00
|
|
|
Pytest can be used with most existing test suites, but its
|
2016-09-28 03:51:46 +08:00
|
|
|
behavior differs from other test runners such as :ref:`nose` or
|
|
|
|
Python's default unittest framework.
|
|
|
|
|
|
|
|
Before using this section you will want to :ref:`getting-started <install pytest>`.
|
|
|
|
|
|
|
|
Running an existing test suite with pytest
|
|
|
|
---------------------------------------------
|
|
|
|
|
|
|
|
Say you want to contribute to an existing repository somewhere.
|
|
|
|
After pulling the code into your development space using some
|
|
|
|
flavor of version control and (optionally) setting up a virtualenv
|
|
|
|
you will want to run::
|
|
|
|
|
|
|
|
cd <repository>
|
|
|
|
pip install -e . # Environment dependent alternatives include
|
|
|
|
# 'python setup.py develop' and 'conda develop'
|
|
|
|
|
|
|
|
in your project root. This will set up a symlink to your code in
|
|
|
|
site-packages, allowing you to edit your code while your tests
|
|
|
|
run against it as if it were installed.
|
|
|
|
|
|
|
|
Setting up your project in development mode lets you avoid having to
|
|
|
|
reinstall every time you want to run your tests, and is less brittle than
|
|
|
|
mucking about with sys.path to point your tests at local code.
|
|
|
|
|
2017-04-07 10:02:47 +08:00
|
|
|
Also consider using `Tox <https://tox.readthedocs.io/en/latest>`_.
|
2016-09-28 03:51:46 +08:00
|
|
|
|
|
|
|
.. include:: links.inc
|