Как тестировать и эмулировать периферию с помощью библиотеки JPOS
Мы новички в библиотеке JPos, и мы хотели автоматизировать тестовые сценарии, которые требуют периферийных взаимодействий.
Чтобы автоматизировать тестирование с использованием нескольких сценариев, мы хотели обойти подключенные периферийные устройства и дать имитационные значения нашему приложению.
Например, у нас есть подключенный "Шкала" для измерения веса, и мы хотели смоделировать значение, считанное из шкалы, чтобы этот метод,
scale.getWeightUnit()
возвращает наше фиктивное значение.
Возможно ли это в JPos с некоторыми конфигурациями?
3 ответа
Библиотека Jpos использует класс обслуживания, упомянутый в jpos.xml. Этот класс обслуживания может находиться во внешнем pos.jar (должен быть в classpath) и создаваться во время выполнения. например, IBM предоставляет файл ibmpos.jar, который имеет реализацию сервиса для связи с периферийными устройствами.
Поэтому, чтобы смоделировать сервисы, отредактируйте файл jpos.xml, создайте собственную реализацию сервиса, чтобы вернуть значения макетов и добавьте классы реализации в classpath.
а также вам нужно запустить событие dataOccured в классе реализации службы, чтобы смоделировать аппаратное событие (например, смоделировать отсканированное событие для сканера)
Я обычно просто реализую фиктивную службу JavaPOS в таких случаях. Вы можете просто вернуть фиксированное или случайное значение.
Если вы хотите полностью обойти подключенные периферийные устройства (как, например, пропустить всю часть JPos), вы можете создать фиктивный класс, у которого есть методы, которые вы используете.
Смотрите здесь: Java - Как использовать заглушки в JUnit