как проверить код в ответе alamofire с заглушками ohhttpstubs - PullRequest
0 голосов
/ 29 декабря 2018

Я пытаюсь протестировать приложение для iOS, которое использует Alamofire с библиотекой ohhttpstubs.Тем не менее, я могу только выяснить, как проверить, что запрос сделан.Что я хочу сделать, это убедиться, что ответный обратный вызов выполняется правильно и соответствующим образом обновляет viewcontroller.Есть ли интуитивный способ сделать это, с ожиданиями или иным образом?

Что я пробовал до сих пор:

тестовый код:

    func testFinishedInvitingPeople() {
        let expectation = self.expectation(description: "edit group called")
        stub(condition: isPath("/api/v1/group/1/update_members")) { _ in
        let obj = ["mock": "respones"] as [String: Any]
        expectation.fulfill()
        return OHHTTPStubsResponse(jsonObject: obj, statusCode: 200, headers: nil)
    }
    let people = [Mocks.mockUser, Mocks.mockUser]
    membersTable.finishedInvitingPeople(people)
    waitForExpectations(timeout: 0.3, handler: nil)

Код, который я тестирую (RequestBase - мой собственный внутренний класс)

    RequestBase(url: "api/v1/group/1/update_members", method: .post, params: params, headers: headers, callback: {response in
        // I want to test the response code in this callback. 
        ...
    })
...