python unit-testing openerp pycharm openerp-7

python - Ejecute pruebas de unidad OpenERP 7 en PyCharm



unit-testing openerp-7 (2)

En la ventana de ejecución / depuración ¿estableciste el valor del campo actual del directorio de trabajo en /home/juliocesar/work/projects/my_project ? Esto ayudaría a PyCharm a buscar las rutas relativas y las importaciones.

También puede intentar dar una ruta completa a sus complementos en la lista de argumentos.

Puedo ejecutar pruebas unitarias de mi complemento OpenERP v7 como se describe aquí .

En PyCharm lo hice agregando una configuración de Python en la configuración de ejecución / depuración de la siguiente manera:

Guión:

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

Parámetros 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

Se ejecuta correctamente pero muestra un resultado estándar en formato de registro de texto como el siguiente:

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

donde muestra los resultados de ejecutar la siguiente prueba que creé en add-on my_addon del proyecto my_project , en /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()

Lo que quiero es usar las pruebas de Python -> Configuración Unittest para mostrar las pruebas de salida con iconos rojos / verdes y la interfaz PyCharm para los resultados de las pruebas.

La configuración Unittest requiere el archivo de script donde se encuentran las pruebas, si especifico el archivo, PyCharm encuentra todas las pruebas en el archivo pero da errores porque la base de datos (y otros parámetros como openerp-server y los parámetros restantes especificados arriba para ejecutar pruebas de OpenERP ) no está configurado:

Este es el resultado de ejecutar esta configuración:

/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

Entonces, ¿cómo especificar los parámetros necesarios para ejecutar OpenERP v7 unittest con una configuración de prueba de PyCharm?

Usé PyCharm 4.0.6 Build # PY-139.1659, pero tampoco funciona en PyCharm 5.


puede depurar usando cmd en windows ingrese con cmd en la carpeta odoo.exe C: / Archivos de programa (x86) / Odoo 8.0-20150719 / server y ejecute este comando

odoo --log-level=debug

o terminal en Linux ingrese con la terminal en el archivo odoo.py (/ usr / bin /) y ejecute este comando

python odoo.py --log-level=debug

cinta ctrl + z o ctrl + c para desactivar un registro.

encontrará un archivo (openerp-server.log) en / var / log / odoo /