#unit-testing #odoo
#модульное тестирование #odoo
Вопрос:
Я пишу модульные тесты для пользовательского дополнения, разработанного поверх модуля project (project.task), который также сильно настроен. При написании модульных тестовых примеров создание объектов модели project.task сопряжено с созданием нескольких объектов подкласса перед созданием фактического объекта модели задачи. Этот процесс является болезненным, поскольку каждый объект подкласса, в свою очередь, имеет много полей. При создании задачи из пользовательского интерфейса намного проще, поскольку система создает все объекты подкласса с необходимыми полями. Есть ли лучший способ создания необходимых фиктивных объектов для модульного тестирования?
Комментарии:
1. почему вы не можете использовать демо-версию odoo по умолчанию для задачи и добавить в нее свои пользовательские данные поля. это сократит вашу половину кода. Когда мы пишем модульный тест, не очевидно, что мы создаем какой-либо объект. вы можете использовать уже созданные демонстрационные данные из odoo. (возьмите любую ссылку на odoo)
Ответ №1:
Есть 2 способа, которыми вы можете это сделать:
- Используйте функцию default_get(): это устанавливает данные по умолчанию для некоторых полей (с параметром по умолчанию)
- Используйте функцию name_create(): для создания записи с простым именем.
Но вы должны помнить, что эти 2 функции доступны только тогда, когда они есть в вашей модели