最近升级到XCode 3.2.4和iOS SDK 4.1导致我的单元测试不再适用于我的iOS项目.该项目目前仅在模拟器上运行,而不是真正的硬件.
我试图创建一个新的空白项目,其中添加了一个总是通过的虚拟测试用例,但它也不起作用,给我这个结果:
处理命令输出时发生内部错误:
- [XCBuildLogCommandInvocationSection setTestsPassedString:]:发送到实例0x20176e320
的无法识别的选择器处理命令输出时发生内部错误:
- [XCBuildLogCommandInvocationSectionRecorder endMarker]:发送到实例0x201257de0的无法识别的选择器
是否有其他人使用XCode 3.2.4和iOS SDK 4.1测试案例有问题?
我有一组在XCode 3.2.4中引起问题的SenTestCase.尝试编译时(使用非常基本的STFail(@"");)会发生以下编译器错误:
处理命令输出时发生内部错误: -
[XCBuildLogCommandInvocationSectionRecorder endMarker]:
发送到实例的无法识别的选择器处理命令输出时发生内部错误: -
[XCBuildLogCommandInvocationSection setTestsPassedString:]:
发送到实例的无法识别的选择器
我已经包含来自'/ Developer/Library/Frameworks'的SenTestkingKit.framework,并且刚刚通过'目标>添加>新目标>可可触摸>单元测试包'来创建目标.有任何想法吗?谢谢!
所以我有一些单元测试通过Xcode 3.1/Leopard.它们在iPhone应用程序项目中使用SenTestingKit,并在单独的"测试"目标中构建/运行.我刚刚在Snow Leopard上升级到Xcode 3.2并且测试似乎运行(我在Console.app中获取日志并看到它们正在通过),但是Xcode沙滩球并且必须在它们运行后强行退出.Console.app显示来自Xcode的以下错误,即使测试目标中没有包含测试用例,也会出现错误:
Xcode[1734] -[XCBuildLogCommandInvocationSection setTestsPassedString:]:
unrecognized selector sent to instance 0x20104db60
Xcode[1734] -runOperationInBackground raised an exception:
-[XCBuildLogCommandInvocationSection setTestsPassedString:]:
unrecognized selector sent to instance 0x20104db60
Run Code Online (Sandbox Code Playgroud)
我已经清理并重建无济于事,我似乎无法通过搜索找到关于这个主题的任何内容(虽然看起来似乎有一个人有同样的问题).
更新:我已将此报告为Apple的错误,错误为#7214051.