2016-06-29 5 views
0

Я на самом деле пытаюсь запустить unittests, который я создал благодаря документации Odoo.ODOO [V8] Тесты модулей

Я построил мой модуль, как это:

module_test 
- __init__.py 
    __openerp.py__ 
... 
- tests 
    __init__.py 
    test_1.py 

'module_test/тесты/INIT .py' Внутри, у меня есть "импорт test_1" Внутри, «module_test/тесты/test_1. py ", у меня есть:" импорт тестов + сценарий сценария, который я написал.

Затем я запустить командную строку для запуска сервера, и я добавляю: «-u module_test --log уровня = тест --test включить», чтобы обновить модуль и активировать тесты запустить

shell возвращает: «Все проверены в 0.00s, 0 запросах». Таким образом, тесты не выполняются.

Затем я добавил синтаксическую ошибку, поэтому файл не может быть скомпилирован сервером, но оболочка вернула то же предложение. Похоже, что файл игнорируется, и сервер даже не пытается скомпилировать мой файл ... Я не понимаю, почему?

Я проверил некоторый исходный модуль Odoo, например, «продать». Я попытался запустить тесты продаж, оболочка вернула то же значение, что и раньше. Я добавил ошибку синтаксиса внутри тестов продажи, оболочка вернула то же значение снова и снова.

Есть ли у кого-нибудь идеи об этом неожиданном поведении?

+0

ли вы указать имя базы данных при перезапуске сервера: Для ех, ./odoo.py -d db_name -i module_test --test включить –

+0

Точную командной строки: «питона/.../openerp-server --config = ... -d db_name -u module_to_update --log-level = test --test-enable 'Так что да! – Florian

ответ

1

Вы должны попробовать использовать post_install декоратора для тестового класса:

Пример:

from openerp.tests import common 

@common.post_install(True) 
class TestPost(common.TransactionCase): 

    def test_post_method(self): 
     response = self.env['my_module.my_model'].create_post('hello') 
     self.assertEqual(response['success'], True) 

Для того, чтобы тесты работают быстрее без обновления вашего модуля, вы должны иметь возможность запускать тесты без

-u module_test

, если вы используете

--load = module_test

Я должен признать, что документация тестирования odoo действительно плохо. Мне потребовалась неделя, чтобы понять, как сделать модульное тестирование в оду.

Смежные вопросы