我已经设法在Xcode 4中为我的库设置单元测试.我已经使用我知道将通过和失败的测试执行构建(即STAssertTrue(YES)和STAssertTrue(NO))以确保它正常工作.我正在使用本文档后面的默认Apple SenTest库.
但是,当我的测试运行时,我在构建日志中收到此错误:
处理命令输出时发生内部错误: - [IDEActivityLogSectionRecorder endMarker]:发送到实例0x20310b580的无法识别的选择器
要清楚,它根本不会影响测试的运行,只会影响构建窗口的输出.每次都运行所有测试,所以我可以通过查看构建成功或失败来判断通过/失败.
但是,当我的测试失败时,我无法找出哪一个失败,因为输出似乎在达到该错误时停止.
有没有人有单元测试经验/ Xcode 4 /这个错误?
我有一个自定义框架,遵循Apple的框架编程指南>> 安装框架中的建议我安装在/ Library/Frameworks中.我通过使用以下脚本添加Run Script构建阶段来完成此操作:
cp -R build/Debug/MyFramework.framework /Library/Frameworks
Run Code Online (Sandbox Code Playgroud)
在我的项目中,我然后链接/ Library/Frameworks/MyFramework并将其导入我的类中,如下所示:
#import <MyFramework/MyFramework.h>
Run Code Online (Sandbox Code Playgroud)
这非常有效,除了我总是在调试器控制台中看到以下消息:
将程序加载到调试器中... sharedlibrary apply-load-rules所有警告:无法读取"/Users/elisevanlooij/Library/Frameworks/MyFramework.framework/Versions/A/MyFramework"(未找到文件)的符号.警告:无法读取"MyFramework"中的符号(尚未映射到内存中).程序已加载.
显然,编译器首先查看/ Users/elisevanlooij/Library/Frameworks,找不到MyFramework,然后查看/ Library/Frameworks,找到MyFramework并继续其快乐的方式.到目前为止,这更像是一个烦恼而不是真正的问题,但是当运行单元测试时,gdb停止(文件未找到)并拒绝继续.我通过在Run Script Phase中添加一行来解决这个问题
cp -R build/Debug/MyFramework.framework ~/Library/Frameworks
Run Code Online (Sandbox Code Playgroud)
但是感觉就像是在拍摄一些不应该被打破的东西.我怎样才能解决这个问题?