Тестовый адаптер

Адаптер почти всегда работает в системе разработчика. Его собственное устройство отвечает, его собственная конфигурация завершена, и сетевое соединение установлено. На внешних системах ничего из этого не гарантируется, и именно там становятся очевидны ошибки. Автоматизированные тесты выявляют некоторые из них до выпуска.

Три типа экзаменов

ИскусствоЧто она обнаружит
проверка упаковкиЛиpackage.json иio-package.json Проверьте, что они совместимы друг с другом, что вся обязательная информация присутствует, что версии корректны и что переводы полны.
Начальный тестПроверяет, запускается ли адаптер с использованием реального js-контроллера, отправляет ли он отчеты и может ли он быть корректно завершен.
Наши собственные тестыТолько тот, кто знаком с данным адаптером, может сказать, корректен ли анализ данных, полученных с помощью этого устройства.

Первые два доставляются посылкой.@iobroker/testing Он уже настроен в рамках, созданных с помощью Adapter Creator . Пользователи, использующие более старую версию адаптера, просто добавляют к ней необходимые компоненты.

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

Что должны охватывать ваши собственные тесты

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

  • Устройство не отвечает.
  • Вместо данных система выдает сообщение об ошибке.
  • Отсутствует или пустое поле.
  • Одно значение выходит за пределы ожидаемого диапазона.

То, как обрабатываются подобные случаи, отличает адаптер, работающий непрерывно, от того, который перестает работать через две недели.

Запуск автоматически

Созданный фреймворк включает в себя конфигурацию для GitHub Actions. Это позволяет запускать тесты при каждом изменении и в разных версиях Node.js. Это важнее, чем кажется: ioBroker работает на совершенно разных системах, и адаптер, работающий только с версией Node.js разработчика, приведёт к появлению множества сообщений на форумах.

Попробуйте сделать это вручную.

Автоматизированные тесты не заменяют тщательного наблюдения. Перед публикацией стоит проверить те случаи, которые не охватываются ни одним тестом:

  1. Установите адаптер на новую систему, не используя существующую конфигурацию.
  2. Создайте экземпляр и откройте страницу конфигурации на другом языке.
  3. Введите неверные учетные данные для входа и проверьте журнал. Содержит ли он информацию о дальнейших действиях?
  4. Во время работы отключайте устройство от сети и снова подключайте его.
  5. Завершите работу экземпляра и проверьте журнал, чтобы убедиться, что ничего не зависло.

Как наблюдать за работой адаптера в отладчике, описано в разделе «Отладка» .