IOS开发中使用单元测试(OCUnit)测试集成pod库工程中的一些问题以及解决方案

在写unit test的过程中遇到一些问题,在编译的时候,如果我们代码中引入了pod库头文件或者@import xxx,会提示

xx.h file not found

方法1:

在网上找了半天,说是当测试单元在编译的时候没有包含pod库导致的

解决方案:

Project => Info => Configurations 将对应的 None 改一下;注意:是project

测试结果

经过测试我这里没有效果

方法2:

原因是因为你的podfile里面写的target只有你的项目,没有test,所以需要修改你的podfile文件:

解决方案:

效果图

找到测试target,在里面添加pod依赖,然后执行pod install,这时候,会在pod工程下的 Target Support Files下生成pod-xxxxTests

测试结果:

出现:The sandbox is not sync with the Podfile.lock问题

解决:

关闭当前的工作空间,删除掉文件夹中的workspace,然后重新pod install,install完成之后,通过workspace打开工作空间,clean+build即可,如下所示

rm -rf MyProject.xcworkspace
pod install

在pod install之前,请确保已经执行pod setup命令。

通过这种方式,可以解决以上问题;

如果在工程代码中含有objc与swift混编的情况,可以在测试目录下建立一个测试的swift文件,这时系统会为我们生产一个桥接文件,保留这个文件,就可以解决找不到一些swift库的问题;

我的问题:

原工程能编译通过,测试工程编译不过,我们只需要在测试target的Builde Phases中设置自己需要的测试文件即可,其他不需要的统统删掉,如下图:

无

 

最后附上网上一些写的比较好的关于单元测试以及UI测试的方法,传送门

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值