iOS通过UnitTest访问AddressBook联系人;如何设置权限?

iOS通过UnitTest访问AddressBook联系人;如何设置权限?,第1张

概述这个问题涉及使用iPhone模拟器与单元测试.我已经编写了一系列测试,测试我们的数据存储,合并或不合并我们可以从用户的联系人访问的数据,具体取决于联系人是否存在.我想要一种设置权限的方法,以便当用户授予访问联系人的权限时(A),以及(B)当用户拒绝访问联系人时.我想要的仅仅是在单元测试中,以硬编码权限值.我不想提示它,因为这将阻止单元测试运行,同时额外的困难,权限仍然设置为该值永远. 所以我接触到 这个问题涉及使用iPhone模拟器与单元测试.我已经编写了一系列测试,测试我们的数据存储,合并或不合并我们可以从用户的联系人访问的数据,具体取决于联系人是否存在.我想要一种设置权限的方法,以便当用户授予访问联系人的权限时(A),以及(B)当用户拒绝访问联系人时.我想要的仅仅是在单元测试中,以硬编码权限值.我不想提示它,因为这将阻止单元测试运行,同时额外的困难,权限仍然设置为该值永远.

所以我接触到SO社区,通过控制单元测试中的权限,看看还有谁可能正在测试他们的代码与通讯录联系人的交互.有没有人有一个食谱,允许我测试用户的双方给和拒绝访问通讯录联系人?

我正在使用XCTestCase父类.如果这有助于解决这个问题,我会开放使用别的东西.

我已经阅读了这方面的所有相关SO问题和答案.他们专注于帮助人们编写许可问题例程并在应用程序中访问通讯录联系人.我知道如何做那个部分.我正在谈论如何在单元测试中伪造地址簿权限.

解决方法 起初我这样做
1)在应用程序中 – >
if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusDenIEd) ...if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusRestricted) ...

2)为了测试这个问题,我使用Ocmock类,用于预定义的值和方法
链接到这里 – http://ocmock.org

总结

以上是内存溢出为你收集整理的iOS通过UnitTest访问AddressBook联系人;如何设置权限?全部内容,希望文章能够帮你解决iOS通过UnitTest访问AddressBook联系人;如何设置权限?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1111763.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存