Проблемы с тестированием presentedviewcontroller в Swift

#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 .