go的github.com/prometheus如何在單測中校驗值是否正確

LiusCraft發表於2024-08-20

假如我的指標定義如下:

MetricGroupStatGauge = prometheus.NewGaugeVec(prometheus.GaugeOpts{
	Name: "test",
	Help: "test",
}, []string{"name", "age", "sex"})

...忽略對指標新增資料的程式碼

那麼如何取值進行校驗呢?

注意:GetMetricWithLabelValues("小明", "12", "男"),引數順序一定要與[]string{"name", "age", "sex"})一致

ob, err := MetricGroupStatGauge.GetMetricWithLabelValues("小明", "12", "男")
ast.Nil(err)
m := &dto.Metric{} // 這用來接收基於"小明", "12", "男",獲取到這個指標物件
ob.Write(m) // 在這裡寫入
ast.NotNil(m.Gauge.Value)
t.Log(*m.Gauge.Value)
ast.NotEqual(float64(0), *m.Gauge.Value) // 拿到值進行比較

相關文章