私はInfluxDB
にデータを格納するメトリックコレクタを持っています。そのメトリックを格納するメソッドをテストしたいと思います。私はそれを試していますが、私はInfluxDB
クライアントを嘲笑することができません。私はテスト環境で実際のInfluxDB
を指摘したくありません。Mock InfluxDBクライアントがMetricCollectorクラスをテストする
私がこれまで達成したことは、いくつかの「ヌルポインタ例外」であり、接続は拒否されました。
これは私のテストです(TestNGを使用しています)。私は間違って何をしていますか? InfluxDBFactory.connect()
:
@Test
public void validateMetrics() {
String influxHost = "http://localhost";
String credentials = "admin:admin";
String influxDatabaseName = "testDataBase";
influxDB = InfluxDBFactory.connect(influxHost, credentials.split(":")[0], credentials.split(":")[1]);
MetricsCollector metricsCollector = null;
try {
String hostName = "test-server-01";
int statusValue = 1;
metricsCollector = new MetricsCollector(influxDB);
BatchPoints metrics = metricsCollector.initBatchPoint(influxDatabaseName);
Point point = metricsCollector.setMetric(hostName, "status", statusValue);
metrics = metricsCollector.addToMetrics(metrics, point);
Assert.assertTrue(metrics.getPoints().get(0).lineProtocol().contains(hostName));
Assert.assertTrue(metrics.getPoints().get(0).lineProtocol().contains("status=" + statusValue));
} finally {
if (metricsCollector != null) {
metricsCollector.closeConnection();
}
}
}
あなたのコードは私のためには機能しませんが、私を正しい方法で入れてください。質問を編集して解決策を追加します。ありがとう – FranAguiar