Запуск OpenETP 7 unittests в PyCharm

Я могу запустить модульные тесты моего дополнения OpenERP v7, как описано здесь .

В PyCharm я сделал это, добавив конфигурацию Python в конфигурацию Run / Debug следующим образом:

Автор сценария:

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

Параметры скрипта:

 --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 

Он работает успешно, но показывает стандартный вывод в формате текстового журнала, например:

 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 

где он показывает результаты запуска следующего теста, который я создал в дополнении my_addon проекта my_project , в /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() 

Я хочу использовать тесты Python -> Unittest configuration, чтобы отображать результаты тестов с красными / зелеными значками и интерфейс PyCharm для результатов тестов.

Конфигурация PyCharm unittest

Для конфигурации Unittest требуется файл сценария, в котором находятся тесты, если я укажу файл, PyCharm находит все тесты в файле, но дает ошибки, потому что база данных (и другие параметры, такие как openerp-server и остальные параметры, указанные выше, для запуска тестов OpenERP ) не настроен:

Результаты поиска PyCharm

Это результат выполнения этой конфигурации:

 /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 

Итак, как указать требуемые параметры для запуска OpenERP v7 unittest с тестовой конфигурацией PyCharm?

Я использовал PyCharm 4.0.6 Build # PY-139.1659, но он также не работает в PyCharm 5.

2 Solutions collect form web for “Запуск OpenETP 7 unittests в PyCharm”

В окне run / debug вы установили значение текущего поля рабочего каталога в /home/juliocesar/work/projects/my_project ? Это поможет PyCharm искать относительные пути, а также импорт.

Вы также можете попробовать указать полный путь к своим аддонам в списке аргументов.

вы можете отлаживать использование cmd в Windows, введите с cmd в папку odoo.exe C: \ Program Files (x86) \ Odoo 8.0-20150719 \ server и выполните эту команду

  odoo --log-level=debug 

или терминал в linux введите с терминалом в файл odoo.py (/ usr / bin /) и выполните эту команду

 python odoo.py --log-level=debug 

ctrl + z или ctrl + c для дезактивации журнала.

вы найдете файл (openerp-server.log) в / var / log / odoo /

  • assertRaises не удается, даже вызываемый вызывает требуемое исключение (python, unitest)
  • Тестирование модуля Python CLI
  • Настройка пользователя Django для тестирования носа
  • Django 1.6, Transaction.commit_on_success с Multiprocessing не работает
  • Предоставление тестовых данных в python
  • PyQt & unittest - тестовый сигнал и слоты
  • Не удалось выполнить тесты пакета Django
  • Ошибка теста Django только с pycharm - Не терминал | приложения еще не загружены
  • Тестирование загрузки файлов с помощью Flask и Python 3
  • AssertRaises терпит неудачу, даже если исключение вызвано
  • Как я могу проверить использование Mocks в Python?
  • Python - лучший язык программирования в мире.