5533dea487
RALLY_UNITTEST_DB_URL may be used to change test database. Sample usage: export RALLY_UNITTEST_DB_URL="mysql://user:secret@localhost/rally" tox -epy27 Fix postgress related bugs in unit tests. * All enums should have name * Fix invalid unit tests Closes-bug: #1413155 Partial-bug: #1405884 Co-Authored-By: Sergey Skripnick <sskripnick@mirantis.com> Co-Authored-By: Boris Pavlovic <boris@pavlovic.me> Change-Id: Ic741cb79eadf952c3dea99182c1e7d52992c9904
81 lines
1.7 KiB
ReStructuredText
81 lines
1.7 KiB
ReStructuredText
Testing
|
|
=======
|
|
|
|
Please, don't hesitate to write tests ;)
|
|
|
|
|
|
Unit tests
|
|
----------
|
|
|
|
*Files: /tests/unit/**
|
|
|
|
The goal of unit tests is to ensure that internal parts of the code work properly.
|
|
All internal methods should be fully covered by unit tests with a reasonable mocks usage.
|
|
|
|
|
|
About Rally unit tests:
|
|
|
|
- All `unit tests <http://en.wikipedia.org/wiki/Unit_testing>`_ are located inside /tests/unit/*
|
|
- Tests are written on top of: *testtools*, *fixtures* and *mock* libs
|
|
- `Tox <https://tox.readthedocs.org/en/latest/>`_ is used to run unit tests
|
|
|
|
|
|
To run unit tests locally::
|
|
|
|
$ pip install tox
|
|
$ tox
|
|
|
|
To run py26, py27 or pep8 only::
|
|
|
|
$ tox -e <name>
|
|
|
|
#NOTE: <name> is one of py26, py27 or pep8
|
|
|
|
To run py26, py27 against mysql or psql
|
|
|
|
$ export RALLY_UNITTEST_DB_URL="mysql://user:secret@localhost/rally"
|
|
$ tox -epy27
|
|
|
|
To get test coverage::
|
|
|
|
$ tox -e cover
|
|
|
|
#NOTE: Results will be in /cover/index.html
|
|
|
|
To generate docs::
|
|
|
|
$ tox -e docs
|
|
|
|
#NOTE: Documentation will be in doc/source/_build/html/index.html
|
|
|
|
Functional tests
|
|
----------------
|
|
|
|
*Files: /tests/functional/**
|
|
|
|
The goal of `functional tests <https://en.wikipedia.org/wiki/Functional_testing>`_ is to check that everything works well together.
|
|
Fuctional tests use Rally API only and check responses without touching internal parts.
|
|
|
|
To run functional tests locally::
|
|
|
|
$ source openrc
|
|
$ rally deployment create --fromenv --name testing
|
|
$ tox -e cli
|
|
|
|
#NOTE: openrc file with OpenStack admin credentials
|
|
|
|
Rally CI scripts
|
|
----------------
|
|
|
|
*Files: /tests/ci/**
|
|
|
|
This directory contains scripts and files related to the Rally CI system.
|
|
|
|
Rally Style Commandments
|
|
------------------------
|
|
|
|
*File: /tests/hacking/checks.py*
|
|
|
|
This module contains Rally specific hacking rules for checking commandments.
|
|
|