
This adds more up to date documentation on how to run the tests locally. It recommends the sqlite target for unittests as they are faster but includes directions for setting up mysql and postgresql for running the test suite against production like backends. Change-Id: I56f6d6b586ec5274943fbef35f635b03bf22c4bd
1.6 KiB
Running the Tests
Storyboard uses tox to manage its unit and functional tests. After installing tox and downloading the storyboard source the next step is to install system dependencies. Run:
$ tox -e bindep
Then take the listed packages and install them with your system package manager. For example:
$ sudo apt-get install package list here
To run the tests quickly on your local development machine you can run the tests with the sqlite backend:
$ tox -e sqlite
And to run the style-checker and static analysis tool:
$ tox -e pep8
If you would like to run the test suite with proper database backends or with python2 instead of python3 there is one more step to follow. Note that the testsuite takes quite a bit longer to run when using the MySQL and PostgreSQL database backends.
First ensure MySQL and PostgreSQL are running (you may need to start these services). Then run the test-setup.sh helper script:
$ tools/test-setup.sh
This script needs to be run with a user that has sudo access. It will configure the databases as needed to run the unittests. You can then runt the unittests with:
$ tox -e py27
or for Python 3:
$ tox -e py35
On slower systems, the database migrations may take longer than the
default timeout of 120 seconds. To override the timeout, set the
OS_TEST_TIMEOUT
environment variable. For example, to set
the timeout to 3 minutes, run:
$ OS_TEST_TIMEOUT=180 tox -e py27