Ios 如何对CocoaPod库的内部方法进行单元测试?
我有一个私有的iOS库,我想用CocoaPods来管理它。但是,我无法理解如何对库的内部方法进行单元测试。我使用了Ios 如何对CocoaPod库的内部方法进行单元测试?,ios,swift,xcode,cocoapods,Ios,Swift,Xcode,Cocoapods,我有一个私有的iOS库,我想用CocoaPods来管理它。但是,我无法理解如何对库的内部方法进行单元测试。我使用了podlibcreate来设置我的文件结构,这将创建指向“示例”项目的测试,因此只能访问我的库中作为“打开”公开的方法。如何对未“打开”的内部方法进行单元测试?显然,我在源文件下创建的任何测试目标在我安装pod后都会被删除……为什么pod lib create不能更轻松地实际测试源代码,而不仅仅是测试其公开的功能 这个github问题解决了我的问题,但我仍然不太理解解决方案: 非常感
podlibcreate
来设置我的文件结构,这将创建指向“示例”项目的测试,因此只能访问我的库中作为“打开”公开的方法。如何对未“打开”的内部方法进行单元测试?显然,我在源文件下创建的任何测试目标在我安装pod
后都会被删除……为什么pod lib create
不能更轻松地实际测试源代码,而不仅仅是测试其公开的功能
这个github问题解决了我的问题,但我仍然不太理解解决方案:
非常感谢您的帮助
编辑
我想我知道我在挣扎什么了。通过使用pod模块的@testable导入,我能够测试“Public”方法。起初我认为我必须让它们“开放”,但关键字@testable为我解决了这个问题 作为参考,解决方案是: 使用
@可测试导入
退房:
基本上,.为什么要测试其他人的代码?如果你不信任这个库,那么就不要使用它。好的库都经过了很好的测试。@Paul.s很抱歉,也许这句话没有说清楚,我自己正在创建一个CocoaPod库,我想测试我的源代码writing@Cristik我试图测试我正在编写的库的源代码,而不是其他人的代码。@andymeager我的原始评论站得住脚。如果您编写了
FrameworkA
,然后将其导入应用程序
。您应该在FrameworkA
中测试FrameworkA
的代码,而不是应用程序
。