ios – 使用自定义值创建CLPlacemark以进行测试

前端之家收集整理的这篇文章主要介绍了ios – 使用自定义值创建CLPlacemark以进行测试前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个应用程序移动CLPlacemark对象并使用它们,我想对与它们交互的几个组件进行单元测试.为此,我希望能够使用生成具有已知值的模拟CLPlacemarks的方法将来自MapKit的实际反向地理定位的调用存根.

CLPlacemark只有一个初始化程序(复制初始化程序).但在documentation,它说:

Placemark objects are typically generated by a CLGeocoder object,although you can also create them explicitly yourself.

但是,大多数成员都是只读的,所以我不确定如何使用自定义值创建一个成员.是否可以在Swift中以这种方式设置内部属性?如果没有,任何关于它们在上述引文中的含义的想法?

解决方法

我将使用OCMock( @L_301_1@)来存根调用以创建存根CLPlacemark对象,并使用您自己的值来存根它们的getter方法.

id userDefaultsMock = OCMClassMock([CLPlacemark class]);

// set it up to return a specific value when stringForKey: is called
OCMStub([userDefaultsMock property]).andReturn(customValue);

猜你在找的iOS相关文章