1

我想创建一个基本的测试用例,而不需要引导生产者、消费者和 kafka 实例进行测试。我坚持以某种方式创建基本消息并且找不到我的错误。这是来自confluent-kafka-go sdk 的结构定义:

// Message represents a Kafka message
type Message struct {
    TopicPartition TopicPartition
    Value          []byte
    Key            []byte
    Timestamp      time.Time
    TimestampType  TimestampType
    Opaque         interface{}
    Headers        []Header
}

我的基本消息创建如下所示。我已经验证了 topicPartition 结构和 validImageUploadMessageAsBytes 是有效的对象。

kafkaMessage := kafka.Message{
        TopicPartition: topicPartition,
        Value:          validImageUploadMessageAsBytes,
        Key:            messageKey,
        Headers:        nil,
    }

我还尝试了以下方法以确保它不会因为我在消息中提供的一些数据而失败:

emptyMessage := new(kafka.Message)
    emptyMessage.TopicPartition = topicPartition
    emptyMessage.Value = []byte("")
    emptyMessage.Key = []byte("")

此示例产生与下图相同的输出

在使用 GoLand (2021.3.3) 调试它时,我看到了这个变量值

计算节点表示失败

4

1 回答 1

0

代码运行正常,这只是 IDE GoLand (2021.3.3) 的显示问题

于 2022-03-05T10:59:47.843 回答