2016-11-17 96 views
2

我正在編寫XCTest應用程序測試,它通過presentViewControllerUIApplicationrootViewController上測試一些UIViewControllersXCTest應用程序測試和權限提醒

這工作正常,除權限對話框。一些UIViewControllers使系統彈出權限對話框,如照相機或麥克風訪問。我不知道如何解僱他們。

如果這是一個UI測試,我可以使用addUIInterruptionMonitorWithDescriptiontap警報。

但是,我不知道如何使這項工作。應用程序可以測試訪問UI測試功能嗎?

+1

嗨,你有沒有想辦法解決這個問題? – DrPatience

+0

看來我們需要使用依賴注入(DI)和/或模擬類來實現這一點。這個[Lynda.com課程](https://www.lynda.com/iOS-tutorials/Swift-Writing-Testable-Code/590829-2.html),在最後一次查看的5/24/2017發佈,討論了兩者。 (本課程可作爲Lynda.com的簡介或通過當地圖書館免費提供。) – leanne

回答

1

在Xcode的UI測試,以訪問系統彈出對話框的權限,可以使用下面的代碼:

self.addUIInterruptionMonitorWithDescription("your alert text", handler: { (alert) -> Bool in 
    yourAlertElement.tap() 
    return true 
    }) 

希望這會幫助,如果您有任何困惑,讓我知道。

+0

當不在UI測試中時,「addUIInterruptionMonitorWithDescription」似乎不會啓動 – paleozogt