py.test plugin to run Odoo tests
Project description
pytest plugin to run Odoo tests
This lib allows to run the tests built in Odoo addons which are using Python’s unittest, but with the comfort of the pytest CLI. Also allowing to run tests without updating given module.
Odoo’s –test-enable machinery and pytest-odoo do not cover exactly the same scope. The Odoo’s test runner runs the tests during the upgrades of the addons, that’s why they need the “at install” and “post install” markers.
Running tests during upgrades of addons is waaay too slow to work efficiently in a TDD mode, that’s where pytest-odoo shines. Consider that all the tests are running post-install with pytest-odoo, as you must run the upgrade of the addon before (but only when needed vs each run).
At the end of the day, its beneficial to run the Odoo tests with –test-enable because, as in very rare conditions, a test can pass with pytest-odoo but not with the “at install” tests run during the upgrade (or the oposite). Pytest-odoo can be considered a development tool, but not the tool that should replace entirely –test-enable in a CI.
See also the official Odoo documentation on writing tests.
Usage
install via:
pip install pytest-odoo
usage:
pytest -s --odoo-database=test --odoo-log-level=debug_sql [--odoo-http]
The custom options are:
--odoo-database: name of the database to test.
--odoo-log-level: log level as expected by odoo. As time of writing: info, debug_rpc, warn, test, critical, debug_sql, error, debug, debug_rpc_answer. The default is critical to have a clean output.
--odoo-config: path of the odoo.cfg file to use.
--odoo-http: Allow to launch the Odoo http instance
Alternatively, you can use environment variables, like the Odoo Docker image:
HOST: hostname of the database server
PORT: port of the database server
USER: username to access the database
PASSWORD: password to access the database
These only work in addition to --odoo-database.
You can use the ODOO_RC environment variable using an odoo configuration file, containing at least the database option with the name of the database to test:
export ODOO_RC=/path/to/odoo/config.cfg pytest ...
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pytest_odoo-2.0.0.tar.gz
.
File metadata
- Download URL: pytest_odoo-2.0.0.tar.gz
- Upload date:
- Size: 19.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75c9a9b6cedac91d22683f2cfeda0c0c824b0070e7ac2548f76841d5086c2867 |
|
MD5 | 3bc8e7765d32ccd8942ed1400041b5ef |
|
BLAKE2b-256 | f9bb397f42423f99370bac1830f7fdc569f59b9a5ec3ff798ef3bf3555d9dbfc |
File details
Details for the file pytest_odoo-2.0.0-py3-none-any.whl
.
File metadata
- Download URL: pytest_odoo-2.0.0-py3-none-any.whl
- Upload date:
- Size: 17.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4fc54ba182a1a0534cc82e4f509d1d8fd87c7605e951630453dd1d111a8af92a |
|
MD5 | a8b58a31e1c0ca44544cca35ac5adeb9 |
|
BLAKE2b-256 | 1c2207cfaf94c87f33b8bea020da2e7e33d67d4899043263ab3c33618b45dad8 |