Lancez OpenERP 7 dans PyCharm

Je peux exécuter les tests unitaires de mon complément OpenERP v7 comme décrit ici .

En PyCharm, je l’ai fait en ajoutant une configuration Python dans Run / Debug Configuration comme suit:

Scénario:

/home/juliocesar/work/projects/my_project/openerp-server 

Paramètres de script:

 --addons-path=openerp/addons,openerp/addons/my_addons --log-level=test --database=my_project_db_test --db_host=localhost --db_user=test --db_password=123 --init=my_addon --test-enable --stop-after-init 

Il s’exécute correctement mais affiche une sortie standard au format journal de texte comme suit:

 2015-04-24 13:47:55,101 12340 TEST my_project openerp.modules.module: module my_addon: executing 1 `fast_suite` and/or `checks` sub-modules 2015-04-24 13:47:55,101 12340 TEST my_project openerp.modules.module: test_change_old_received_to_contingency (openerp.addons.my_addon.tests.test_my_addon.TestMyItems) 2015-04-24 13:47:55,101 12340 TEST my_project openerp.modules.module: ` Test patch to change old received status to contingency. 2015-04-24 13:47:55,110 12340 TEST my_project openerp.modules.module: Ran 1 tests in 0.006s 2015-04-24 13:47:55,110 12340 TEST my_project openerp.modules.module: OK 

où il montre les résultats de l’exécution du test suivant que j’ai créé dans add-on my_addon du projet my_project , dans /home/juliocesar/work/projects/my_project/openerp/addons/my_addon/tests/test_my_addon.py :

 from openerp.tests.common import TransactionCase import unittest2 class TestMyItems(TransactionCase): def test_change_old_received_to_contingency(self): """Test patch to change old received status to contingency.""" self.assertTrue(True) if __name__ == '__main__': unittest2.main() 

Ce que je veux, c’est utiliser les tests Python -> Configuration unittest pour afficher les résultats des tests avec des icons rouges / vertes et une interface PyCharm pour les résultats des tests.

PyCharm Unittest config

La configuration unittest requirejs le fichier script où se trouvent les tests, si je spécifie le fichier, PyCharm trouve tous les tests dans le fichier mais donne des erreurs car la firebase database (et d’autres parameters comme le script openerp-server et les parameters restants spécifiés ci-dessus pour exécuter les tests OpenERP) ) n’est pas configuré:

PyCharm unittest results

Ceci est le résultat de l’exécution de cette configuration:

 /usr/bin/python2.7 /home/juliocesar/apps/pycharm/helpers/pycharm/utrunner.py /home/juliocesar/work/projects/my_project/openerp/addons/my_addon/tests/ false Testing started at 09:38 AM ... No handlers could be found for logger "openerp.sql_db" Process finished with exit code 0 Error Traceback (most recent call last): File "/home/juliocesar/work/projects/my_project/openerp/tests/common.py", line 94, in setUp TransactionCase.cr = self.cursor() File "/home/juliocesar/work/projects/my_project/openerp/tests/common.py", line 55, in cursor return openerp.modules.registry.RegistryManager.get(DB).db.cursor() File "/home/juliocesar/work/projects/my_project/openerp/modules/registry.py", line 193, in get update_module) File "/home/juliocesar/work/projects/my_project/openerp/modules/registry.py", line 209, in new registry = Registry(db_name) File "/home/juliocesar/work/projects/my_project/openerp/modules/registry.py", line 76, in __init__ cr = self.db.cursor() File "/home/juliocesar/work/projects/my_project/openerp/sql_db.py", line 484, in cursor return Cursor(self._pool, self.dbname, serialized=serialized) File "/home/juliocesar/work/projects/my_project/openerp/sql_db.py", line 182, in __init__ self._cnx = pool.borrow(dsn(dbname)) File "/home/juliocesar/work/projects/my_project/openerp/sql_db.py", line 377, in _locked return fun(self, *args, **kwargs) File "/home/juliocesar/work/projects/my_project/openerp/sql_db.py", line 440, in borrow result = psycopg2.connect(dsn=dsn, connection_factory=PsycoConnection) File "/usr/lib/python2.7/dist-packages/psycopg2/__init__.py", line 179, in connect connection_factory=connection_factory, async=async) OperationalError: FATAL: database "False" does not exist 

Alors, comment spécifier les parameters requirejs pour exécuter OpenERP v7 unittest avec une configuration de test PyCharm?

J’ai utilisé PyCharm 4.0.6 Build # PY-139.1659, mais cela ne fonctionne pas non plus avec PyCharm 5.

Dans la fenêtre run / debug, avez-vous défini la valeur du champ de répertoire de travail actuel sur /home/juliocesar/work/projects/my_project ? Cela aiderait PyCharm à rechercher les chemins relatifs ainsi que les importations.

Vous pouvez également essayer de donner un chemin complet à vos addons dans la liste des arguments.

vous pouvez déboguer en utilisant cmd dans Windows entrez avec cmd dans le dossier odoo.exe C: \ Program Files (x86) \ Odoo 8.0-20150719 \ server et exécutez cette commande

  odoo --log-level=debug 

ou terminal dans linux entrez avec le terminal dans le fichier odoo.py (/ usr / bin /) et exécutez cette commande

 python odoo.py --log-level=debug 

tape ctrl + z ou ctrl + c pour désactiver un journal.

vous trouverez un fichier (openerp-server.log) dans / var / log / odoo /