iOS无主机测试目标(以前的逻辑测试)有哪些限制?

前端之家收集整理的这篇文章主要介绍了iOS无主机测试目标(以前的逻辑测试)有哪些限制?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
TLDR:没有主机应用程序运行iOS单元测试有哪些限制?

互联网上有很多关于iOS无主机测试(逻辑与应用测试)的帖子可能已经过时了.例如,根据thisthis Stack Overflow post,您无法在逻辑测试中实例化UIFont.我只是尝试使用运行iOS 10.2的Xcode 8.2.1和iPhone 7模拟器,它似乎工作正常.

这是一个带有这样一个测试的示例项目:
@L_301_2@

根据this blog post

This is actually a limitation of Xcode logic tests—they don’t fire up
a UIApplication instance and don’t play nicely with UIKit

但是如果你看看我上面的示例项目,它正在创建一个UIView并使用FBSnapshotTestCase断言视图在逻辑测试中呈现相同,一切似乎都正常.

另外,我找不到Apple的Logic vs Application测试文档了.例如,this postthis post链接到Apple网页,现在似乎已经死了,我找不到更换它的新页面.

我想知道Apple是否已经最小化了区别,因为差异只是在您的测试目标上设置主机应用程序.但是我不清楚逻辑测试是否有任何限制.我非常喜欢它们,因为它允许我为我的应用程序的部分创建更小,更孤立的测试目标,这些目标可以比Application Test套件快得多.

更新:我想我会添加一个关于UI Testing的注释.根据Apple文档,从Xcode 7开始,他们添加了UI测试作为XCTest的一部分.这似乎与关于主机与无主机单元测试目标的观点正交.

解决方法

I wonder if Apple has minimized the distinction since the difference is simply setting a host application on your test target or not.

现在有单元测试和UI测试.两者都涉及运行应用程序. Apple根本不再单独讨论逻辑测试.

猜你在找的iOS相关文章