Я хочу сделать модульный тест для клиентского модуля Mqtt в Android Studio, потому что я хочу отправлять данные с устройства Android на ПК, но я не знаю, как это проверить без реального сервера, я использую библиотеку paho . Есть способ сделать это?





Да, легко выполнять локальные автономные тесты при разработке с помощью Android Studio и эмулятора Android на компьютере Mac, Linux или Windows.
Сначала установите комар и запустите брокер на локальном хосте (в Windows просто дважды щелкните mosquitto.exe, в Linux/Mac запустите ./mosquitto в окне терминала).
Затем откройте другое окно терминала и подпишитесь на все темы, запустив:
./mosquito_sub -v -t "#"
Или в Windows в окне cmd:
mosquito_sub.exe -v -t "#"
Наконец, в исходном коде Java измените URL-адрес при запуске в эмуляторе:
public static boolean isEmulator() {
return (Build.PRODUCT != null && Build.PRODUCT.toLowerCase().contains("sdk")) ||
(Build.MODEL != null && Build.MODEL.toLowerCase().contains("sdk"));
}
private static final String BROKER_URL =
isEmulator() ? "tcp://10.0.2.2/" : "tcp://test.mosquitto.org/";
Вы можете запустить любую программу из Java, используя Время выполнения.exec()
Я изменю свой вопрос, есть ли java API для создания брокера mqtt?
Вы не можете использовать библиотеку paho для имитации брокера, но есть брокер moquette (https://github.com/moquette-io/moquette), который вы можете использовать для встраивания брокера в существующее приложение Java.
Кто-нибудь знает, где мы можем скачать прослушиватель? данная ссылка на binaryTray в файле README мертва.
Можно ли использовать «mosquitto_sub» с помощью кода Java?