【发布时间】:2017-04-13 06:03:38
【问题描述】:
在我的应用程序中,我希望断言通知已以正确的格式添加。我通常会通过依赖注入来做到这一点,但我想不出一种方法来测试新的UNUserNotificationCenter API。
我开始创建一个模拟对象来捕获通知请求:
import Foundation
import UserNotifications
class NotificationCenterMock: UNUserNotificationCenter {
var request: UNNotificationRequest? = nil
override func add(_ request: UNNotificationRequest, withCompletionHandler completionHandler: ((Error?) -> Void)? = nil) {
self.request = request
}
}
但是,UNUserNotificationCenter 没有可访问的初始化程序,我无法实例化模拟。
我什至不确定是否可以通过添加通知请求并获取当前通知来进行测试,因为测试需要请求模拟器的权限,这会导致测试停止。目前我已经将通知逻辑重构为一个包装器,因此我至少可以在整个应用程序中模拟它并手动测试。
我有比手动测试更好的选择吗?
【问题讨论】:
标签: ios unit-testing notifications ios10