XCTest: проверьте, что обратный вызов не вызывается - PullRequest
0 голосов
/ 19 марта 2020

Я знаю, как ждать обратного вызова с ожиданиями в XCT. Тем не менее, как насчет тестирования обратного?

Ниже приведен пример теста, который я имею в качестве части своих тестов:

manager.state = .initialized
let exp = expectation(description: "expectation")
manager.login { state, error in
    exp.fulfill()
    XCTAssert(state == .initialized)
    XCTAssertNil(error)
}
waitForExpectations(timeout: 1)

В следующем тесте, который я пишу, я бы как тест, чтобы убедиться, что обратный вызов не вызывается, когда состояние моего manager объекта является заданным значением c.

1 Ответ

1 голос
/ 19 марта 2020

Это можно сделать, установив isInverted = true для объекта XCTestExpectation следующим образом:

manager.state = .initialized
let exp = expectation(description: "inverted expectation")
exp.isInverted = true
manager.login { state, error in
    exp.fulfill()
}
waitForExpectations(timeout: 1)
...