加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – 在XCTestCase中使用URL方案

发布时间:2020-12-14 20:00:03 所属栏目:百科 来源:网络整理
导读:我想运行一个等待浏览器响应的测试. 测试目标有一个Info.plist,我可以在其中注册自定义URL方案.但那些从未被称为.我知道测试目标不是真正的应用程序. 有办法吗? 编辑(赏金):我想为一个调用openUrl(“tel://”某个电话号码)的类编写集成测试.如何在XCTestC
我想运行一个等待浏览器响应的测试.

测试目标有一个Info.plist,我可以在其中注册自定义URL方案.但那些从未被称为.我知道测试目标不是真正的应用程序.

有办法吗?

编辑(赏金):我想为一个调用openUrl(“tel://”某个电话号码)的类编写集成测试.如何在XCTestCase中订阅此URL方案?

解决方法

这个问题被重新命名为OS X,所以我的答案不再有效

原始答案

这是不可能的.基本原因是测试连接到一个正在运行的应用程序实例,它们无法控制设备,它们作为应用程序的一部分运行.您可以打开URL,但无法返回应用程序并执行断言.

另请注意,XCUnit是一个单元测试框架.您将无法在其中编写高级集成测试.您可能在UI自动化方面更成功,但即使是这个特定的测试用例也会非常复杂.例如,要在模拟器中通过应用程序打开链接,您可以创建一个HTML页面,该页面将重定向到该链接,然后使用shell来执行打开testLink.html -a“iOS模拟器”.但是,根据我的拙见,这种测试是不可靠的,并且很难编写和调试.

我的建议是:

>编写一个模拟[UIApplication openURL:]的单元测试,并验证您是否正在向其传递正确的URL.或者,如果您想要另一个方向,请编写一个单元测试,该测试将按被调用的顺序调用UIApplicationDelegate方法,模拟您的应用程序打开链接.这是你可以使用XCUnit.>手动测试其余部分.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读