我正在写一些测试,我需要
- 存根对模拟 CLLocationManager 的调用以返回特定的 CLLocation
- 反过来,CLLocation 需要有一个过去的时间戳
创建 CLLocation 的实例很容易,但它的时间戳属性是只读的,并且固定到创建实例的时间点。所以,我计划创建一个模拟 CLLocation,并存根时间戳调用。
因此,代码如下所示:
[[CLLocationManager stubAndReturn:theValue(YES)] locationServicesEnabled];
NSDate *oldDate = [IPPOTestSupportMethods createNSDateSubtractingDays:2];
//TODO - Why is line below failing
[[expectedOldLocationMock stubAndReturn:oldDate] timestamp];
[[locationMgrMock stubAndReturn:expectedOldLocationMock] location];
总之,我有一个 CLLocationManager 模拟,我创建了一个比今天早两天的 NSDate。我希望在我打电话时返回那个日期
[cllocationmock timestamp];
但是,我遇到了 ARC 语义问题。
IPPOLocationManagerDelegateImplKiwiTests.m:203:33: Multiple methods named 'timestamp' found with mismatched result, parameter type or attributes
这是 Kiwi 的问题,还是我遗漏了什么?