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

Unit Testing Custom iOS Framework with or without Host Application

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

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

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

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

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

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