如何将日志从源代码输出到Stdout

时间:2019-05-13 09:42:31

标签: go

我有一个如下的go http服务器:

func metricsHandler(w http.ResponseWriter, req *http.Request) {
    cloudwatch_func()
}

在此处理程序中,我调用了另一个函数,例如cloudwatch_func(),它输出调试日志,如

log.Println("CLI helper - " +
                "aws cloudwatch get-metric-statistics" +
                " --metric-name " + metric.Name +
                " --dimensions " + dimensionsToCliString(dimensions) +
                " --namespace " + *namespace +
                " --statistics " + *statistics[0] +
                " --period " + strconv.FormatInt(period, 10) +
                " --start-time " + startTime.Format(time.RFC3339) +
                " --end-time " + endTime.Format(time.RFC3339))

现在,我要使用(test_func.go)中描述的方式,通过go test -v测试此http服务器处理程序

func TestMetricsHandler(t *testing.T){
    // call metric api
    req, err := http.NewRequest("GET", "/metrics", nil)

    rr := httptest.NewRecorder()
    http.HandlerFunc(metricsHandler).ServeHTTP(rr, req)

    log.Println(rr.Body.String())
}

我从测试代码中获取日志,但是如何在这里使用test_func.go从源代码输出日志。

此“如何在Go单元测试中测试函数的输出(stdout / stderr)”帖子不会解决嵌套函数问题

0 个答案:

没有答案