ari*_*iel 6 iphone cocoa-touch unit-testing ocunit
我正在尝试实现此处所述的应用程序测试.到目前为止,这么好,但我没有测试,例如,使用Core Location的设备的位置.我已经向目标添加了适当的框架,并启动了位置更新,但我不知道如何等待加载位置,测试套件在第二个线程完成之前就结束了.请帮我找一种测试这种东西的方法.
如果您依赖,CLLocationManager您可以在以下位置实现这两个委托方法CLLocationManagerDelegate:
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
- (void)locationManager:(CLLocationManager *)manager
didFailWithError:(NSError *)error
Run Code Online (Sandbox Code Playgroud)
然后您设置CLLocationmanager委托并告诉它startUpdatingLocation。如果你得到 didUpdateLocation(oldLocation设置为零),这意味着你现在有了一个位置,你可以认为测试成功(确保你关闭更新)。如果您收到另一份,则存在位置管理器错误。
如果您依赖 MapKit 并使用 的MKMapView用户位置更新机制,请查看我对此问题的回答并实现观察者部分 ( observeValueForKeyPath) 以在地图有位置(成功)时收到通知或实现 MKMapViewDelegate 的mapViewDidFailLoadingMap如果出现错误,将得到通知。
| 归档时间: |
|
| 查看次数: |
1127 次 |
| 最近记录: |