#ios #swift #testing
#iOS #swift #тестирование
Вопрос:
У меня возникли проблемы с тестированием представленного UIAlertController. Я видел руководство по этому (https://swiftandpainless.com/how-to-test-uialertcontroller-in-swift /) но это все равно не работает, потому что каждый раз, когда я проверяю, представлен ли контроллер представления, он возвращается nil
. Мне интересно, заключается ли моя проблема в том, что текущий VC, который я тестирую, является самим представленным VC.
describe("showLogOutAlert is called") {
context("logOut alert is called and cancel is selected"){
it("should be presented then dismissed") {
sut.showLogOutAlert()
expect(sut.presentedViewController).to(beAKindOf(UIAlertController.self))
}
}
}
Я хотел бы проверить, выбраны ли кнопки, но я не могу пройти первую часть тестирования, если представлен контроллер представления. Это проблема, с которой я сталкиваюсь со всем, что я пытаюсь протестировать, будучи представленным (например, MailComposeViewController).
Примечание: да, они действительно отображаются при запуске приложения, поэтому тест неверен при его вызове nil
.