Help

8

How to: start with Testing Framework

Avatar
Hannes Smit

OpenERP uses a python testing framework; based on unittest2. For more information: https://doc.openerp.com/trunk/server/05_test_framework/

 

My question is the following: How to start/invoke these tests?

I created a structure with a 'tests/' folder and a single `openerp.tests.common.TransactionCase`.

But what to do next if you're not running with the openerp-command project?

 

 

EDIT:

After studying some server code: it seems that tests are launched from `load_module_graph()`. Although this doesn't have to be the ONLY point of entry! In this case, it also shows that:

  • you need to update (-u) the module that needs testing 
  • the module should also contain demo data.
    • If a module is already installed without demo data, you should set the demo boolean to True in ir.module.module.
  • that you should start the server with `--test-enable`

Rephrased question: Are there other ways to launch module tests besides launching a server with demo-data?

I'm also curious on how to display results in Eclipse's PyUnit. But thats another topic I'm afraid.

 

EDIT 2:

This is what the documentation 

To run the tests .. the simplest way is to use the oe command (provided by the openerp-command project).

points to: http://bazaar.launchpad.net/~openerp/openerp-command/trunk/view/191/openerpcommand/run_tests.py

 

EDIT 3:

https://www.odoo.com/forum/Help-1/question/How-to-run-tests-526

 

EDIT 4:

In the mean time, OpenERP seems to have included some documentation in their how-to's:

https://www.odoo.com/forum/how-to/Developers-13/How-to-run-tests-526

Avatar
Discard
1 Answer
0
Avatar
Jérôme Thériault
Best Answer

There's a really nice pytest plugin, made to run unit tests with pytest. Have a look at this SO answer: http://stackoverflow.com/a/41862286/2498426

In short: install the plugin, create a config file, and run pytest.

Avatar
Discard