Реализован тестовый пример с макетом. но это не работает

Я реализовал код для получения данных из API. А также написал тестовый пример с макетом этого метода, используя https://github.com/jarcoal/httpmock. Но издевательства не выполнялись. Получение исходных данных из данных. не получать фиктивные данные. пробовал всеми способами. но не работает. Кто-нибудь может мне помочь?

func MakeAPIRequest(url string) ([]byte, error) {
    req, err := http.NewRequest(http.MethodGet, url, nil)
    if err != nil {
        log.Fatal(err)
    }
    tr := &http.Transport{
        TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
    }
    httpClient := &http.Client{Transport: tr}
    response, err := httpClient.Do(req)
    if err != nil {
        log.Fatal(err)
    }
    defer response.Body.Close()
    body, err := ioutil.ReadAll(response.Body)
    if err != nil {
        log.Fatal(err)
    }
    return body, nil
}

И это тестовый пример

func TestMakeAPIRequest(t *testing.T) {
    httpmock.Activate()
    defer httpmock.DeactivateAndReset()
    httpmock.RegisterResponder("GET", "https://jsonplaceholder.typicode.com/users/1",
        httpmock.NewStringResponder(200, `{
            "id": 1,
            "name": "Leanne Graham Test Name",
            "username": "Bret",
            "email": "Sincere@april.biz",
            "address": {
              "street": "Kulas Light",
              "suite": "Apt. 556",
              "city": "Gwenborough",
              "zipcode": "92998-3874",
              "geo": {
                "lat": "-37.3159",
                "lng": "81.1496"
              }
            },
            "phone": "1-770-736-8031 x56442",
            "website": "hildegard.org",
            "company": {
              "name": "Romaguera-Crona",
              "catchPhrase": "Multi-layered client-server neural-net",
              "bs": "harness real-time e-markets"
            }
          }`))

    data, err := MakeAPIRequest("https://jsonplaceholder.typicode.com/users/1")
    fmt.Println("data:", string(data), err)
    fmt.Println(httpmock.GetCallCountInfo())

}

получение 0 при звонке

fmt.Println(httpmock.GetCallCountInfo())

0 ответов

Другие вопросы по тегам