我非常努力确保Xcode 4.3是我系统上唯一的Xcode版本。
我创建了一个新项目(使用Git和单元测试)。在这个项目中,我添加了一个从Debug中复制的新配置,名为“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
相同。
如何让这些标准配置在'correct'(DerivedData)文件夹中生成工件?
奖金问题:有没有更好的方法来解决TEST_HOST
事情?
答案 0 :(得分:1)
事实证明,xcodebuild
需要-workspace
参数来规范化DerivedData
文件夹中的构建。
奖金回答(约TEST_HOST
):
“逻辑”测试和“应用程序”测试之间存在二分法,作为一个新的iOS开发人员,我并不知道。如果要测试的类是某个UI类的子类,那么这是一个“应用程序”测试,必须在实际设备上运行。否则(从NS类派生),该测试可以在模拟器上运行。模拟测试需要空TEST_HOST
。
哦,你想要手动将你要测试的每个课程直接添加到Build Sources
下的测试目标的Build Phases
阶段,因为 不会打滑你的思想永远。
严重,如果有人知道更好的方法,请发表评论,否则我将不得不接受我自己的答复作为答案。如果所提供的信息是错误的,也请评论,这可能是。
你有72个小时。 [冷静宠物长毛白猫]