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

Posted

技术标签:

【中文标题】单元测试目标中的 xcode RunUnitTests 脚本?【英文标题】:xcode RunUnitTests script in unit test target? 【发布时间】:2010-12-04 23:51:27 【问题描述】:

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

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

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

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

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

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

【问题讨论】:

你使用的是什么版本的 Xcode?​​span> 3.2.5 64 位。克里斯,我浏览了你关于这个主题的博客文章,它们很有帮助,只是一路上遇到了这个障碍。 【参考方案1】:

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

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

并确保 shell 行为/bin/sh。我可能有这个错误,因为本特定指南中没有提到它,但这是我运行单元测试的方式,并且效果很好。

【讨论】:

以上是关于单元测试目标中的 xcode RunUnitTests 脚本?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 XCode4 中运行单元测试而无需切换到 UnitTest 配置文件/目标?

Xcode 4:为啥我不能将头文件添加到单元测试目标?

将单元测试移动到 xcode 中的不同文件夹

Jenkins 和 Xcode5 单元测试目标 - 没有测试输出?

单元测试目标不在Xcode 4.5上运行

如何在 Xcode 7 中动态更改单元测试的目标?