Files
tryton/doc/ref/tests.rst
T
2020-11-29 11:35:29 +00:00

105 lines
2.8 KiB
ReStructuredText

.. _ref-test:
.. module:: trytond.tests.test_tryton
====
Test
====
.. attribute:: DB_NAME
The name of the database to use for testing. Its value is taken from the
environment variable of the same name.
.. attribute:: USER
The user id used to test the transactions
.. attribute:: CONTEXT
The context used to test the transactions
.. function:: activate_module(name)
Activates the module ``name`` for the tested database.
In case database does not exist and the ``DB_CACHE`` environment variable is
set then Tryton will restore a backup found in the directory pointed by
``DB_CACHE``.
Otherwise it will proceed to the creation of the database and the activation of
the module.
==============
ModuleTestCase
==============
.. class:: ModuleTestCase()
A subclass of `unittest.TestCase`_ that tests a Tryton module. Some tests are
included to ensure that the module works properly.
This class creates a temporary database with the module activated in
`setUpClass`_ and drops it in the ``tearDownClass`` method.
.. attribute:: ModuleTestCase.module
Name of the tested module.
.. _`unittest.TestCase`: https://docs.python.org/library/unittest.html#test-cases
.. _setUpClass: https://docs.python.org/library/unittest.html#unittest.TestCase.setUpClass
.. _tearDownClass: https://docs.python.org/library/unittest.html#unittest.TestCase.tearDownClass
=======
Helpers
=======
.. function:: with_transaction(user=1, context=None)
This function returns a decorator to run a test case inside a transaction. The
transaction is rolled back and the cache cleared at the end of the test.
doctest helpers
---------------
.. function:: doctest_setup
A function that prepares the run of the `doctest`_ by creating a database and
dropping it beforehand if necessary. This function should be used as the
``setUp`` parameter
.. deprecated::
The ``doctest_setup`` function should not be used anymore to set up
``DocFileSuite``. New modules should use :func:`activate_modules` instead.
.. _doctest: https://docs.python.org/library/doctest.html
.. function:: doctest_teardown()
A function that cleans up after the run of the doctest by dropping the
database. It should be used as ``tearDown`` parameter when creating a
``DocFileSuite``.
.. attribute:: doctest_checker
A specialized doctest checker to ensure the Python 2/3 compatibility
.. function:: suite()
A function returning a subclass of ``unittest.TestSuite`` that will drop the
database if it does not exist prior to the run of the tests.
.. module:: trytond.tests.tools
===========
Tests tools
===========
.. function:: activate_modules(modules)
This function is used in proteus doctests to activate a list of ``modules`` in
the scenario.
.. function:: set_user(user, config)
This function will set the user of the ``config`` proteus connection to
``user``.