Тайм-аут асинхронной задачи URLRequest

Попытка заставить следующий тест работать. Он никогда не входит в блок завершения и вместо этого истекает через 30 секунд. Похоже, что запрос никогда не был сделан, так как я не вижу его на Чарльзе.

func testAsynchronousURLConnection() {
    let url = URL(string: "https://jsonplaceholder.typicode.com/posts/1")!
    let exp = expectation(description: "Async request")

    var urlRequest = URLRequest(url: url)

    urlRequest.httpMethod = "GET"
    urlRequest.addValue("application/json", forHTTPHeaderField: "Accept")

    let task = URLSession.shared.dataTask(with: urlRequest) { data, response, error in
        XCTAssertNotNil(data, "data should not be nil")
        XCTAssertNil(error, "error should be nil")
        exp.fulfill()
    }

   task.resume()

    waitForExpectations(timeout: 30) { error in
        if let error = error {
            print("Error: \(error)")
        }
    }
}

Тест не пройден с ошибкой:

Ошибка асинхронного ожидания: превышено время ожидания 30 секунд с невыполненными ожиданиями: "Асинхронный запрос"

Куда я иду не так?

0 ответов

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