小编Gaz*_*ouu的帖子

使用 junit 进行 MQTT 客户端测试

我正在尝试测试使用 MQTT 客户端的 Spring-Boot 应用程序。我想测试几个像这些区域的属性:

  • 它是否正确处理连接失败
  • 它是否正确处理连接成功
  • 它是否正确解析消息有效负载(json?)
  • 它是否正确处理格式错误的有效负载。

(来源如何为 MQTT 客户端编写测试?

所以,我的 MQTT 客户端代码是(简化):

@Component
public class MQTTController implements MqttCallback {

    MqttClient client;

    @Value("${spring.mqtt.serverURI}")
    private String serverURI;

    @Value("${spring.mqtt.port}")
    private String serverPort;
    
    @Bean
    private MqttClient receiveData() {
        try{
            client = new MqttClient(serverURI + ":" + serverPort, "Receiver");
            client.connect();
            client.setCallback(this);
            client.subscribe("someTopic");
            return client;
        }
        catch(Exception e){
            log.error("MQTT ERROR");
            log.error(e.toString());
        }
        return null;
    }

    public void connectionLost(Throwable cause) {
    }

    public void messageArrived(String topic, MqttMessage message) throws Exception {
        someActionWithTheData(message.ToString()); …
Run Code Online (Sandbox Code Playgroud)

java unit-testing mqtt spring-boot

1
推荐指数
1
解决办法
4145
查看次数

标签 统计

java ×1

mqtt ×1

spring-boot ×1

unit-testing ×1