Тестовый адаптер
Адаптер почти всегда работает в системе разработчика. Его собственное устройство отвечает, его собственная конфигурация завершена, и сетевое соединение установлено. На внешних системах ничего из этого не гарантируется, и именно там становятся очевидны ошибки. Автоматизированные тесты выявляют некоторые из них до выпуска.
Три типа экзаменов
| Искусство | Что она обнаружит |
|---|---|
| проверка упаковки | Лиpackage.json иio-package.json Проверьте, что они совместимы друг с другом, что вся обязательная информация присутствует, что версии корректны и что переводы полны. |
| Начальный тест | Проверяет, запускается ли адаптер с использованием реального js-контроллера, отправляет ли он отчеты и может ли он быть корректно завершен. |
| Наши собственные тесты | Только тот, кто знаком с данным адаптером, может сказать, корректен ли анализ данных, полученных с помощью этого устройства. |
Первые два доставляются посылкой.@iobroker/testing Он уже настроен в рамках, созданных с помощью Adapter Creator . Пользователи, использующие более старую версию адаптера, просто добавляют к ней необходимые компоненты.
Проверка при запуске — самая ценная из трех. Она выявляет ошибки, с которыми пользователи сталкиваются чаще всего: адаптер не запускается или его невозможно остановить, и ошибка дублируется при перезапуске.
Что должны охватывать ваши собственные тесты
Важно не само подключение к устройству, а то, что происходит после него. Проанализируйте данные, используя записанные устройством ответы, включая наименее желательные.
- Устройство не отвечает.
- Вместо данных система выдает сообщение об ошибке.
- Отсутствует или пустое поле.
- Одно значение выходит за пределы ожидаемого диапазона.
То, как обрабатываются подобные случаи, отличает адаптер, работающий непрерывно, от того, который перестает работать через две недели.
Запуск автоматически
Созданный фреймворк включает в себя конфигурацию для GitHub Actions. Это позволяет запускать тесты при каждом изменении и в разных версиях Node.js. Это важнее, чем кажется: ioBroker работает на совершенно разных системах, и адаптер, работающий только с версией Node.js разработчика, приведёт к появлению множества сообщений на форумах.
Попробуйте сделать это вручную.
Автоматизированные тесты не заменяют тщательного наблюдения. Перед публикацией стоит проверить те случаи, которые не охватываются ни одним тестом:
- Установите адаптер на новую систему, не используя существующую конфигурацию.
- Создайте экземпляр и откройте страницу конфигурации на другом языке.
- Введите неверные учетные данные для входа и проверьте журнал. Содержит ли он информацию о дальнейших действиях?
- Во время работы отключайте устройство от сети и снова подключайте его.
- Завершите работу экземпляра и проверьте журнал, чтобы убедиться, что ничего не зависло.
Как наблюдать за работой адаптера в отладчике, описано в разделе «Отладка» .