модульное тестирование odoo для настраиваемого модуля проекта

#unit-testing #odoo

#модульное тестирование #odoo

Вопрос:

Я пишу модульные тесты для пользовательского дополнения, разработанного поверх модуля project (project.task), который также сильно настроен. При написании модульных тестовых примеров создание объектов модели project.task сопряжено с созданием нескольких объектов подкласса перед созданием фактического объекта модели задачи. Этот процесс является болезненным, поскольку каждый объект подкласса, в свою очередь, имеет много полей. При создании задачи из пользовательского интерфейса намного проще, поскольку система создает все объекты подкласса с необходимыми полями. Есть ли лучший способ создания необходимых фиктивных объектов для модульного тестирования?

Комментарии:

1. почему вы не можете использовать демо-версию odoo по умолчанию для задачи и добавить в нее свои пользовательские данные поля. это сократит вашу половину кода. Когда мы пишем модульный тест, не очевидно, что мы создаем какой-либо объект. вы можете использовать уже созданные демонстрационные данные из odoo. (возьмите любую ссылку на odoo)

Ответ №1:

Есть 2 способа, которыми вы можете это сделать:

  • Используйте функцию default_get(): это устанавливает данные по умолчанию для некоторых полей (с параметром по умолчанию)
  • Используйте функцию name_create(): для создания записи с простым именем.

Но вы должны помнить, что эти 2 функции доступны только тогда, когда они есть в вашей модели