在一个iOS项目中引入了单元测试,感觉项目间的依赖关系有些乱,就建了一个新的Project,再把原来的.h和.m加进去,编译时竟然出现“SenTestingKit/SenTestingKit.h: No such file or directory”错误,google后发现这个帖子是正解,但原文说的不太清楚,这里再仔细记录一下。
问题的原因,与单元测试有关的源文件添加到了不正确的Targets中,单元测试的Target与另外的主程序文件是属于不同的target的。
两种解决办法:
1:重新添加.h和.m文件,在弹出的对话框的底部有一个“Add to targets”选项,一定要选中那个与单元测试相对应的xxxTests项,重新编译。
2:找到Target的Build Phases设置,仔细检查Compile Sources里的文件清单,把与单元测试有关的.m文件从主程序清单中移除,加到xxxTests这个Target中,重新编译。