使用第三方库和 Carthage 进行单元测试

Unit testing with third party libraries and Carthage

使用 Carthage 进行依赖管理的正确方法是什么,同时还能够用它为它引入的类型编写测试。例如,(这是假设的)如果我引入 AlamoFire 并假设它有a Response 协议和不同的具体类型都符合 Response 协议。在我自己的图书馆里,如果我要这样做

   @testable import AlamoFire 

它会抱怨模块‘AlamoFire’没有被编译用于测试。做一些研究,我相信这是因为在发布版本上启用可测试性应该设置为 NO,Carthage 默认使用它。有没有办法在你的测试目标中使用像这样的第三方类型?

使用 import 而不是 @testable import 来访问模块的 public 类型。

同样在您的测试目标的构建阶段中,将 AlamoFire 添加到 "Link Binary With Libraries"