11

升级到 4.1 iOS SDK 后,我的单元测试包总是返回以下两个错误和一个警告:

An internal error occurred when handling command output: -[XCBuildLogCommandInvocationSection setTestsPassedString:]: unrecognized selector sent to instance
An internal error occurred when handling command output: -[XCBuildLogCommandInvocationSectionRecorder endmarker:]: unrecognized selector sent to instance
Run unit tests for architecture 'i386' (GC OFF) did not finish

尽管它报告 X 中的所有 X 测试都通过了,但我还是收到了这些错误。我在旧版本的 XCode 中读到了一个类似的错误,该错误也在它发布后立即发生(关于时间正则表达式中的错误),可以通过将您的时区设置为太平洋时间来缓解,但我不能肯定地说这是对那里的回归。

还有其他人有这个问题吗?

4

4 回答 4

10

苹果开发论坛上有一个修复程序,

https://devforums.apple.com/thread/68687

这是一个日期解析问题。修复很快,它需要在您的测试包中添加一个 .m。该修复程序可在上方或从以下位置获得:

http://gist.github.com/586296

于 2010-09-25T15:53:05.883 回答
3

这似乎是一种回归,报告代码的某些部分不考虑时区问题。输出在开始之前被标记为结束,因此变得非常混乱和窒息。

我在 Google 某处找到的一种解决方法是更改​​目标的运行脚本阶段。

改变

"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests" 

"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests" 1> /tmp/RunUnitTests.out 

它正在解决这个问题,而不是解决它,但确实有效。

于 2010-09-18T11:06:26.053 回答
2

这是 Xcode 3.2.4/4.1 SDK 中已确认的错误。已向苹果报告。

升级到 Xcode 3.2.5/4.2 beta SDK 解决了这个问题。不过,我不知道是否可以访问 beta SDK:s,或者您是否需要成为注册开发人员。

于 2010-09-18T10:11:41.557 回答
1

我也遇到了同样的问题。

奇怪的是,我可以按照http://www.grokkingcocoa.com/how_to_debug_iphone_unit_te.html通过调试器运行单元测试来正确完成它们

因此,Otest 的 XCode 接口似乎有问题......

我真的不想将我的时区设置为 PST,因为我在英国,这篇文章似乎表明了这一点......

于 2010-09-15T09:21:03.683 回答