我无法覆盖CLLocationManager的location属性。你有什么建议吗?
如果我这样做了:
class MockCLLocationManager: CLLocationManager {
var location {
get {
return CLLocation(latitude: 0, longitude: 0)
}
}
}
我得到一个错误:'@objc' getter for non-'@objc' property
谢谢。
发布于 2017-09-26 02:54:18
这对我来说很有效:
fileprivate class MockLocationManager : CLLocationManager {
var mockLocation: CLLocation?
override var location: CLLocation? {
return mockLocation
}
override init() {
super.init()
}
}
在测试本身上,只需为mockLocation分配一个clllocation
let locationManager = MockLocationManager()
locationManager.mockLocation = anyLocation
测试你的内在逻辑,比如:
yourClass.locationManager(locationManager, didUpdateLocations: [anyLocation])
https://stackoverflow.com/questions/29131776
复制相似问题