Как тестировать и эмулировать периферию с помощью библиотеки JPOS

Мы новички в библиотеке JPos, и мы хотели автоматизировать тестовые сценарии, которые требуют периферийных взаимодействий.

Чтобы автоматизировать тестирование с использованием нескольких сценариев, мы хотели обойти подключенные периферийные устройства и дать имитационные значения нашему приложению.

Например, у нас есть подключенный "Шкала" для измерения веса, и мы хотели смоделировать значение, считанное из шкалы, чтобы этот метод,

scale.getWeightUnit()

возвращает наше фиктивное значение.

Возможно ли это в JPos с некоторыми конфигурациями?

3 ответа

Решение

Библиотека Jpos использует класс обслуживания, упомянутый в jpos.xml. Этот класс обслуживания может находиться во внешнем pos.jar (должен быть в classpath) и создаваться во время выполнения. например, IBM предоставляет файл ibmpos.jar, который имеет реализацию сервиса для связи с периферийными устройствами.

Поэтому, чтобы смоделировать сервисы, отредактируйте файл jpos.xml, создайте собственную реализацию сервиса, чтобы вернуть значения макетов и добавьте классы реализации в classpath.

а также вам нужно запустить событие dataOccured в классе реализации службы, чтобы смоделировать аппаратное событие (например, смоделировать отсканированное событие для сканера)

Я обычно просто реализую фиктивную службу JavaPOS в таких случаях. Вы можете просто вернуть фиксированное или случайное значение.

Если вы хотите полностью обойти подключенные периферийные устройства (как, например, пропустить всю часть JPos), вы можете создать фиктивный класс, у которого есть методы, которые вы используете.

Смотрите здесь: Java - Как использовать заглушки в JUnit

Другие вопросы по тегам