Я пытаюсь выполнить модульное тестирование для моего API с Alamofire в качестве остальной среды.Я добавил зависимости pod и все в Podfile, и нет ошибок относительно отсутствующих модулей или чего-то еще.В настоящее время в качестве примера я пытаюсь попасть на главную страницу Google, и в ответ я пытаюсь оценить код ответа с помощью XCRAssertEqual .Функция работает нормально, если я использую в контроллере представления, но она не работает в тестовом классе.Не работая, я имел в виду, что он дает true для обоих случаев, поскольку оба кода ответа равны .success и .filure .Что может быть причиной этого?Ниже приведен мой TestClass, в котором определена функция, и класс тестовых примеров, в котором она используется
import Foundation
import Alamofire
class TestingClass {
private init(){
}
static let sharedInstance = TestingClass()
func getSquare(number:Int)->Int{
return number * number
}
func getGoogleResponse(completion:@escaping (_ rest:Int)->Void){
Alamofire.request("https://google.com").responseString { response in
var result = -1
switch response.result {
case .success:
result = 0
case .failure(let error):
result = 1
}
completion(result)
}
}
}
класс тестовых примеров
import XCTest
@testable import MyApp
class MyAppTests: XCTestCase {
func testSquare(){
XCTAssertEqual(TestingClass.sharedInstance.getSquare(number:2),6)
}
func testGoogle(){
TestingClass.sharedInstance.getGoogleResponse { (res) in
print("ANURAN \(res)")
XCTAssertEqual(res, 0)
}
}
}
Первый тестовый пример работает нормально, так как ему нечегосделать с Alamofire, но второй раз никогда не терпит неудачу.