我是MQTT的新手,并且正在测试中,不确定它们应该如何协同工作。
我使用了mqtt.js,并想编写一些基本测试。那我应该如何构建测试呢?更具体地说,我需要模拟 MQTT 代理吗,还是可以进行实时连接?这个连接应该是到类似 HiveMQ 的测试服务,还是到我自己设置的代理?
我的设置:
我正在构建一个聊天应用程序。
有3个 Docker 容器。1个代理(使用mosquitto),2个客户端。
客户端在网页的脚本中使用mqtt.js
,用于输入和读取消息的前端页面。当客户端脚本被加载时,会与代理建立默认消息主题的连接。
我已经成功连接并验证了客户端可以发送和接收消息,但为了进行适当的测试,我的头都大了。
使用 Mocha/Chai 进行测试。
index.js => 被 webpack 打包成 'bundle.js' 并由 HTML 内的脚本标签加载。
// index .js
// gets bundled by wepback and loaded within a script tag in browser
const mqtt = require('mqtt')
const client = mqtt.connect('mqtt://localhost:9001')
client.on('connect', function () {
console.log(process.env.NAME + ' has connected')
client.publish('welcome', 'this is a message')
})