Рекомендации по тестированию homeui

Здравствуйте! Хотел бы попросить совета на тему: как лучше тестировать homeui модуль?
То есть я добавил в код свой функционал, UI и хотел бы протестировать его, но я понимаю, что развертывание на контроллере для теста - это неправильный и долгий подход, учитывая, что изменения могут быть совсем небольшими (опечатка и т.д). Все же это самые первые тесты, хотелось бы к развертыванию на контроллер перейти позже.
Проблема в том, что, когда я запускаю проект локально, mqtt брокера нет и раздел “История”, который, фактически, мне и нужен, не работает из-за этого.
Я полагаю, что подходов может быть много, был бы благодарен получить рекомендацию от разработчиков, как стоит действовать в таком, скорее, стандартном сценарии.

Добрый день!

Рекомендую работать напрямую на контроллере — все другие синтетические тесты на локальном железе не позволяют полноценно проверить работу.

Также советую использовать Ansible или аналогичный метод доставки: можно настроить автоматическую отправку кода на контроллер и в это время сделать паузу на отдых.

Хорошо, понял, спасибо!

Можете, пожалуйста, развернуть вот эту фразу? Насколько я сейчас понимаю, дабы выгрузить код на контроллер мне нужно собрать homeui deb файл и потом собрать .fit контроллера вместе с ним и перепрошить контроллер. Ansible, как пример, делает тоже самое, но автоматически? Или вообще другие “концепции” используются?
Есть возможность привести пример использования Ansible в таком формате? Я предполагаю, в репозиториях у вас такого нет, но подобное вы используете

Добрый день!

Рекомендую потратить пару дней на данный продукт — он поможет автоматизировать процессы.

Ansible, в свою очередь, может использоваться для установки необходимого ПО и пакетов.

Здесь скорее вопрос в том, насколько глубоко требуется автоматизация.

Я бы сказал, что в первую очередь, чтобы удобно было тестировать. Потому что тот процесс, что я описывал ранее довольно-таки трудоемкий и времязатратный, хотя бы минимальная автоматизация развертывания на контроллер была бы очень полезна тем более при длительной разработке и постоянных правках.
Т.е фактически “насколько глубоко требуется автоматизация” - настолько, чтобы можно было автоматически развернуть код на контроллер для тестов или финального вида, раз уж лучше не использовать синтетические тесты

Я правильно понимаю, что оба этих инструмента предназначены для автоматизации? Тогда с первой минуты возникает путаница, что лучше использовать.
Или вы имеете в виду, что Jenkins помогает автоматизировать процессы сборки и развертывания? Ansible, в отличие от него, только устанавливает то, что нужно (внутри контроллера?)?

Добрый день!

Jenkins вполне подойдёт для ваших задач именно в части тестирования.

А Ansible больше подходит для массового развертывания на N устройств — это его сильная сторона.

1 лайк

Хорошо, изучу Jenkins тогда. Видел, кстати, уже файл есть внутри homeui репозитория, но я попробую подстроить под то, было обсуждено
Обращусь позднее, если возникнут какие-либо проблемы, спасибо вам!

1 лайк