首页 > 解决方案 > 测试 MQTT 行为和发出的事件

问题描述

我需要测试 MQTT 发出的 MQTT 行为和事件。例如,每当我(模拟设备)发布到 MQTT 时,处理程序就会被它使用有效的参数调用(用 iex 测试过,但需要自动化该过程)并且我对数据执行一些操作。

脚步:

  1. 通过 docker 容器安装 mqqt
  2. 在我的 elixir 项目中添加了乌龟依赖项
  3. 并添加了基本的监听器
  4. 并在控制台中尝试并成功收听
Tortoise.publish(:client_id, "d", "my msg" , qos: 0).

注意:我尝试使用mockmox库进行侦听但无法捕获呼叫事件

问题/问题: MQTT侦听事件(某些设备将事件发布到 MQTT 服务器)并且 MQTT 调用与其关联的 elixir 侦听器。我需要测试这种行为:假设侦听器在 10 秒内被 MQTT 调用。如何在我启动发布到 MQTT 后的 10 秒内(使用正确的参数)在测试用例中检查此方法/侦听器已被调用

图书馆:https ://github.com/gausby/tortoise

标签: asynchronouselixirmqttpublish-subscribemqtt-vernemq

解决方案


推荐阅读