我正在寫一些測試,在這裏我需要無法存根模擬CLLocation對象上時間戳獼猴桃
- 存根到一個模擬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
這是獼猴桃的問題,還是我錯過了什麼?
謝謝。這對我來說很有用。也感謝您的解釋。我正在使用stubAndReturn方法,因爲我個人發現它更具可讀性。所以,解釋清楚了爲什麼我不能使用它。 –
[stubAndReturn](https://github.com/allending/Kiwi/wiki/Mocks-and-Stubs)確實有時看起來更具可讀性,並且它的優點是可以針對特定組合的參數值。 –