带有或不带有主机应用程序的单元测试自定义 iOS 框架

Posted

技术标签:

【中文标题】带有或不带有主机应用程序的单元测试自定义 iOS 框架【英文标题】:Unit Testing Custom iOS Framework with or without Host Application 【发布时间】:2019-01-03 21:36:41 【问题描述】:

我有一个用 Swift 编写的自定义 ios 框架,它呈现 AVCaptureVideoPreviewLayer 并呈现一些自定义弹出屏幕。我想添加单元测试并想知道是否可以在不指定主机应用程序的情况下执行此操作,而是以编程方式创建一个最小主机应用程序。

我发现一些资源似乎正在朝着这个方向发展,但在编写时并未考虑到单元测试框架:

https://marcosantadev.com/fake-appdelegate-unit-testing-swift/

https://qualitycoding.org/ios-app-delegate-testing/

【问题讨论】:

【参考方案1】:

听起来您想测试与 UIKit 的交互,因此您需要一个宿主应用程序。只需将一个新的空应用程序作为您的目标之一,然后使用它。

这可以通过编程方式完成吗?不。另一种选择(一开始值得尝试)是放弃某些类型的测试。在添加主机应用程序之前,看看您能走多远。

【讨论】:

我的问题是可以在没有主机应用程序的情况下以编程方式完成吗? 更新了我的答案

以上是关于带有或不带有主机应用程序的单元测试自定义 iOS 框架的主要内容,如果未能解决你的问题,请参考以下文章

带有自定义单元格的 UITableView 在 iOS 6 上画得很好,但在 iOS 7 上完全是白色的

带有自定义类型的角度单元测试给出了找不到命名空间

带有自定义表格单元格的 FB Friend Picker View Controller

带有静态 TableView 单元的 IOS 8 动态类型 - 基本和字幕

带有预加载 sqlite3 数据库的 iOS 单元测试

带有 UIButton 的自定义 UITableViewCell:单击了哪个按钮?