1

ここで言及した、Kafka Metrics を Spring Boot Actuator と統合するという私の考えに戻ることにしました。

https://github.com/spring-projects/spring-boot/issues/6227

今のところ、Spring Boot にマージしたい作業コードを含む別の「サンドボックス」プロジェクトがあります。そして今、私は少し混乱しています。私のテストの一部では、Mock Kafka の「超セキュア」クラスに powermock が必要です。

package org.apache.kafka.common.metrics;

// some imports...

public final class KafkaMetric implements Metric {
    private MetricName metricName;
    private final Object lock;
    private final Time time;
    private final Measurable measurable;
    private MetricConfig config;

    KafkaMetric(Object lock, MetricName metricName, Measurable measurable, MetricConfig config, Time time) {
        this.metricName = metricName;
        this.lock = lock;
        this.measurable = measurable;
        this.config = config;
        this.time = time;
    }

    // some good code here, but no public constructor and the class is final... of course.

}

ただし、Powermock は Spring Boot では使用されません。

私は何をすべきか?

  1. spring-boot-dependencies と spring-boot-actuator の両方に、最新の安定した powermock を追加します。
  2. spring-boot-actuator のみに最新の安定した powermock を追加します。これを隠れた秘密のヘルパーにします。
  3. パワーモックを必要とするテストを除外します。
  4. Kafka Metrics のことは忘れてください。それらは巨大で恐ろしく、私たちの親切でフレンドリーな Spring Boot Actuator では誰もそれらを望んでいません。
4

1 に答える 1