XCode 3.2.4升级后进行逻辑testing的问题

最近升级到XCode 3.2.4和iOS SDK 4.1导致我的unit testing不再适用于我的iOS项目。 该项目目前只在模拟器上运行,而不是真正的硬件。

我试图做一个新的空白项目添加一个虚拟的testing用例,总是会通过,但它也不起作用,给我这个结果:

处理命令输出时发生内部错误:
– [XCBuildLogCommandInvocationSection setTestsPassedString:]:发送到实例0x20176e320的无法识别的select器
处理命令输出时发生内部错误:
– [XCBuildLogCommandInvocationSectionRecorder endMarker]:无法识别的select器发送到实例0x201257de0

是否有其他人使用XCode 3.2.4和iOS SDK 4.1testing用例?

报告代码的某些部分似乎没有考虑到时区问题。 输出在开始之前被标记为结束,所以变得非常困惑和窒息。

我在Google上find的一个解决方法是更改​​目标的运行脚本阶段。

更改

"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests" 

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

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

该问题的解决方法发布在苹果的开发者论坛上。 它在我的项目中工作正常。 访问网站并尝试。

我的build议来解决你的问题是考虑使用GHUnit。 它与现有的SenTestCase类一起工作,但它也有一组testing类/断言。 你只需设置一个新的目标,并指向他们的驾驶员级别。 您将得到一个function齐全的testing工具,可以在模拟器和真实设备上运行testing。 我觉得比build立一个testing包和pipe理所有这些要容易得多。

http://github.com/gabriel/gh-unit