单元测试目标中的xcode RunUnitTests脚本?

时间:2010-12-04 23:51:28

标签: objective-c xcode unit-testing

我正在按照this guide为我的iOS应用设置单元测试目标(使用4.2 SDK)。该指南说RunUnitTests应该在我的目标的最后阶段通过shell脚本执行:

  

设置Test Host的值告诉RunUnitTests脚本(在最终构建阶段执行)启动指定的应用程序并将测试包注入其中

事实上,我创建的目标确实有一个“运行脚本”步骤,但该步骤为空。我的测试用例正确构建,因为“编译源代码”确实包含我的测试类,但它似乎没有运行,因为我有一个我认为应该失败的测试方法:

- (void)testClick {
    STAssertTrue(NO, @"sample test");
}

我认为应该导致xcode产生一些噪音,但是我在构建目标时得到的只是“Build Successful”。我在目标设置中缺少什么?我的单元测试目标的“Link Binary With Libraries”和“Run Script”步骤是否应为空?目标肯定是编译我的测试用例,但我认为它不知道链接或运行脚本。

在我的目标设置中,我将“Bundle Loader”和“Test Host”属性设置为我认为正确的,因为当它们设置不正确时,编译器抱怨。

1 个答案:

答案 0 :(得分:0)

Paul,尝试将此代码作为脚本包含在空的“运行脚本”构建阶段中:

# Run the unit tests in this test bundle.
"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests"

确保shell行读取/bin/sh。我可能有这个错误,因为在这个特定的指南中没有提到,但这就是我一直在运行我的单元测试,并且它一直很好用。