debian-django-haystack/docs/running_tests.rst

71 lines
2.3 KiB
ReStructuredText

.. _ref-running-tests:
=============
Running Tests
=============
Everything
==========
The simplest way to get up and running with Haystack's tests is to run::
python setup.py test
This installs all of the backend libraries & all dependencies for getting the
tests going and runs the tests. You will still have to setup search servers
(for running Solr tests, the spatial Solr tests & the Elasticsearch tests).
Cherry-Picked
=============
If you'd rather not run all the tests, run only the backends you need since
tests for backends that are not running will be skipped.
``Haystack`` is maintained with all tests passing at all times, so if you
receive any errors during testing, please check your setup and file a report if
the errors persist.
To run just a portion of the tests you can use the script ``run_tests.py`` and
just specify the files or directories you wish to run, for example::
cd test_haystack
./run_tests.py whoosh_tests test_loading.py
The ``run_tests.py`` script is just a tiny wrapper around the nose_ library and
any options you pass to it will be passed on; including ``--help`` to get a
list of possible options::
cd test_haystack
./run_tests.py --help
.. _nose: https://nose.readthedocs.org/en/latest/
Configuring Solr
================
Haystack assumes that you have a Solr server running on port ``9001`` which
uses the schema and configuration provided in the
``test_haystack/solr_tests/server/`` directory. For convenience, a script is
provided which will download, configure and start a test Solr server::
test_haystack/solr_tests/server/start-solr-test-server.sh
If no server is found all solr-related tests will be skipped.
Configuring Elasticsearch
=========================
The test suite will try to connect to Elasticsearch on port ``9200``. If no
server is found all elasticsearch tests will be skipped. Note that the tests
are destructive - during the teardown phase they will wipe the cluster clean so
make sure you don't run them against an instance with data you wish to keep.
If you want to run the geo-django tests you may need to review the
`GeoDjango GEOS and GDAL settings`_ before running these commands::
cd test_haystack
./run_tests.py elasticsearch_tests
.. _GeoDjango GEOS and GDAL settings: https://docs.djangoproject.com/en/1.7/ref/contrib/gis/install/geolibs/#geos-library-path