Поэтому у меня возникают проблемы с запуском асинхронного кода в модульных тестах моего приложения.Я использую ожидания, чтобы дождаться выполнения кода до завершения теста.Асинхронный код проходит через heroku, чтобы получить значения, а затем должен вернуть их в приложение.С этим модульным тестом я пытаюсь убедиться, что соединение через heroku работает.Вот мой код:
func test() {
let url = "https://s.herokuapp.com/test"
let params: [String: Any] = ["account_id": AppState.sharedInstance.user.accounttoken]
let expectation = self.expectation(description: "Testing returning value")
let totalBalance = ""
Alamofire.request(url, method: .post, parameters: params)
.validate(statusCode: 200..<300)
.responseJSON { response in
switch response.result {
case .success:
print("Returned with success")
case .failure(let error):
let status = response.response?.statusCode
print("Failed, status: \(status)")
print("Here is the error: \(error)")
}
if let result = response.result.value {
let balance = result as! NSDictionary
let totalBalance = String(describing: "\(balance["Balance"]!)")
}
XCTAssert(totalBalance != "")
expectation.fulfill()
}
waitForExpectations(timeout: 10, handler: nil)
XCTAssert(totalBalance != "")
}
Причина, по которой я запутался, заключается в том, что у меня нет ошибок при получении асинхронного кода для возврата значений в реальном приложении.У меня только проблема времени ожидания в модульном тестировании.Я получаю две ошибки, одна из которых для XCTAssert не соответствует действительности, а другая для waitForExpectations, которая длится более 10 секунд.Вот некоторые из ошибок, которые появляются, если это помогает найти решение:
Вот сообщения об ошибках в текстовом виде:
2019-07-01 09: 44: 38.181971-0400 Spotbirdparking [49677: 4306598] TIC TCP Conn Failed [6: 0x6000030b7cc0]: 3: -9816 Ошибка (-9816) 2019-07-01 09: 44: 38.188607-0400 Spotbirdparking [49677: 4306598] Ошибка загрузки HTTP NSURLSession / NSURLConnection (kCFStreamErrorDomainSSL, -9816) 2019-07-01 09: 44: 38.188819-0400 Spotbirdparking [49677: 4306598] Задача. <1> Ошибка загрузки HTTP (код ошибки: -1200 [3: -9816]) 2019-07-01 09: 44: 38.189215-0400 Spotbirdparking [49677: 4306623] Задание. <1> завершено с ошибкой - код: -1200 / Пользователи / drewloughran / Рабочий стол / SpotBird / SpotbirdparkingTests /SpotbirdparkingTests.swift: 117: ошибка: - [SpotbirdparkingTests.SpotbirdparkingTests test_stripe]: сбой асинхронного ожидания: превышен тайм-аут 10 секунд, с невыполненными ожиданиями: «тестирование возвращает значение строки».
Я также справедливоновый так быстролюбая помощь будет оценена с этой проблемой.