我有用于测试MyApp的UI测试目标.要测试特定的MyApp条件,我需要将通知从UI测试目标发布到MyApp目标.要从UI测试目标函数发布通知,我使用此:
NSNotificationCenter.defaultCenter().postNotificationName(name,object: nil,userInfo: aUserInfo)
看起来这个通知永远不会从UI测试目标到达观察者,但是从MyApp目标发布此通知时它可以正常工作.
如何从UI Target发布通知到MyApp目标?
使用Xcode 7.
解决方法
有类似的问题(尝试确保在某些UI操作后发布NSNotification).对此进行了小规模的研究.
由于UI测试和应用程序在不同的进程中运行,因此未收到NSNotification. NSNotification无法通过进程边界,并且NSDistributedNotificationServer在iOS上不可用.因此,目前没有默认和简单的方法在UI测试套件和应用实例之间发布NSNotifications.
但是,有一些方法可以在进程之间进行通信,也可以编写小包装器甚至是NSDistributedNotificationCenter iOS代理进行测试.查看Realm:https://academy.realm.io/posts/thomas-goyne-fast-inter-process-communication/中的这篇精彩文章