Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何对CocoaPod库的内部方法进行单元测试?_Ios_Swift_Xcode_Cocoapods - Fatal编程技术网

Ios 如何对CocoaPod库的内部方法进行单元测试?

Ios 如何对CocoaPod库的内部方法进行单元测试?,ios,swift,xcode,cocoapods,Ios,Swift,Xcode,Cocoapods,我有一个私有的iOS库,我想用CocoaPods来管理它。但是,我无法理解如何对库的内部方法进行单元测试。我使用了podlibcreate来设置我的文件结构,这将创建指向“示例”项目的测试,因此只能访问我的库中作为“打开”公开的方法。如何对未“打开”的内部方法进行单元测试?显然,我在源文件下创建的任何测试目标在我安装pod后都会被删除……为什么pod lib create不能更轻松地实际测试源代码,而不仅仅是测试其公开的功能 这个github问题解决了我的问题,但我仍然不太理解解决方案: 非常感

我有一个私有的iOS库,我想用CocoaPods来管理它。但是,我无法理解如何对库的内部方法进行单元测试。我使用了
podlibcreate
来设置我的文件结构,这将创建指向“示例”项目的测试,因此只能访问我的库中作为“打开”公开的方法。如何对未“打开”的内部方法进行单元测试?显然,我在源文件下创建的任何测试目标在我安装
pod
后都会被删除……为什么
pod lib create
不能更轻松地实际测试源代码,而不仅仅是测试其公开的功能

这个github问题解决了我的问题,但我仍然不太理解解决方案:

非常感谢您的帮助

编辑


我想我知道我在挣扎什么了。通过使用pod模块的@testable导入,我能够测试“Public”方法。起初我认为我必须让它们“开放”,但关键字@testable为我解决了这个问题

作为参考,解决方案是: 使用
@可测试导入

退房:

基本上,.为什么要测试其他人的代码?如果你不信任这个库,那么就不要使用它。好的库都经过了很好的测试。@Paul.s很抱歉,也许这句话没有说清楚,我自己正在创建一个CocoaPod库,我想测试我的源代码writing@Cristik我试图测试我正在编写的库的源代码,而不是其他人的代码。@andymeager我的原始评论站得住脚。如果您编写了
FrameworkA
,然后将其导入
应用程序
。您应该在
FrameworkA
中测试
FrameworkA
的代码,而不是
应用程序