0

我煞费苦心地确保 Xcode 4.3 是我系统上唯一的 Xcode 版本。

我创建了一个新项目(使用 Git 和单元测试)。在这个项目中,我添加了一个从 Debug 复制的新配置,称为“Coverage”。在项目中(不是“主要目标”,而是“项目”),我为 Coverage 配置启用了“构建测试”。在主要目标中,我为 Coverage 配置启用了“测试覆盖率”和“仪器程序流程”。

我还添加了一个新方案,它也是从唯一的另一个方案中复制的,也称为“Coverage”。此方案的唯一区别是在构建操作中检查测试项目的“运行”框。

我没有更改 Xcode 首选项中的 DerivedData 位置。

好的,就是这样的设置。

当我运行xcodebuild -configuration Coverage -sdk iphonesimulator -scheme Coverage build时,输出按预期进入DerivedData文件夹,代码覆盖率数据按预期创建(在 Xcode 中调整脚本后,关于 的内容TEST_HOST)。

当我运行xcodebuild -configuration Debug -sdk iphonesimulator build时,输出会转到build项目根目录中的目录。与 相同xcodebuild -configuration Release -sdk iphoneos build

如何获得这些标准配置以在“正确”(DerivedData)文件夹中生成工件?

额外的问题:有没有更好的方法来解决这个TEST_HOST问题?

4

1 回答 1

1

所以事实证明,xcodebuild需要一个参数来规范化文件夹-workspace中的构建。DerivedData

奖励答案(约TEST_HOST):

“逻辑”测试和“应用程序”测试之间存在二分法,我作为一名新的 iOS 开发人员并不知道。如果您要测试的类是某个 UI 类的子类,那就是“应用程序”测试,必须在实际设备上运行。否则(从 NS 类派生),该测试可以在模拟器上运行。模拟测试需要一个空的TEST_HOST.

哦,您需要手动将要测试的每个类直接添加到测试目标的Build Sources阶段,因为永远不会让您忘记。Build Phases

说真的,如果有人知道更好的方法,请发表评论,否则我将不得不接受我自己的回答作为答案。如果提供的信息有误,也请发表评论,很可能是这样。

你有72小时。【淡定宠长毛白猫】

于 2012-03-13T02:11:27.730 回答