Useful testing base classes and tools for OpenERP
Project description
This distribution is intended to provide testing tools and especially unit test base classes to enhance those that come builtin with OpenERP (version >= 7)
Currently, it features these base test classes:
How to install
in general, all you need is to make anybox.testing.openerp importable from the python executable that is to run the tests.
Users of the Buildout recipe just have to add anybox.testing.openerp to their lists of eggs, preferably in a buildout configuration intended for developers:
[buildout] extends = buildout.cfg [openerp] eggs += anybox.testing.openerp
(assuming of course that the part installing OpenERP is named openerp)
TransactionCase
from anybox.testing.openerp import TransactionCase
This is a simple subclass of openerp.tests.common.TransactionCase featuring:
(in Python >= 2.7 context only) a more robust tearDown that protects against exceptions during setUp.
Such exceptions have been witnessed to cause PostgreSQL to deadlock, which is a major source of developper headaches and of loss of time.
Utility and assertion methods
Both TransactionCase and SharedSetupTransactionCase feature additional helper methods. These are
assertRecord()
searchUnique()
readUnique()
assertUniqueWithValues()
They allow for more direct writing and more readability. Check the docstrings for more details. This documentation should get Sphinxed soon.
Why a separate package
We (Anybox) are very open to direct inclusion in OpenERP core, and are ready to submit this as a proper merge request (hence involving a bit more of our own resources than has already been done).
That being said, the reasons for a separate package are:
we don’t want to depend on actual inclusion in the core for our projects
we need this to be available in v7 branch (current stable)
we might want or need to stay ahead of whichever inclusions can occur in the future ; using a published version is more convenient for us than keeping track in our private VCSes.
Why not an addon ?
Do you really want to see a module for unit testing to appear in your modules list ?
Contributing
We are very open to contributions. Don’t hesitate to fork and issue pull requests on the BitBucket repository
Changes
1.3.1 (2014-01-31)
#2: robustness of assertRecord if read(cr, uid, id) returns a list.
1.3 (2013-12-26)
added a new assertUniqueWithValues() utility, combining searchUnique() with assertRecord to save even more hassle.
1.2 (2013-11-07)
added a new assertNoRecord(model, domain) utility
1.1 (2012-08-05)
added utility and assertion methods
corrected documentation
1.0 (2012-07-13)
initial release
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
Hashes for anybox.testing.openerp-1.3.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | e11299dcc93de3c128e32e0266a2640e80a7433d330d8ea083c934d579c77252 |
|
MD5 | 6859a7f1f6c1a5d78e7d0ca8b6b83443 |
|
BLAKE2b-256 | ac7780f9253d6ae44090219d8d258eab1b42b17ec51208e2dcbd160a592b7f94 |