如何在XCode 5中的每个“构建和运行”操作中自动执行单元测试?

时间:2013-12-16 07:29:18

标签: ios xcode unit-testing

我知道之前曾问过类似的问题,但所提供的答案并不包括XCode 5。 我知道TEST_AFTER_BUILD设置在XCode 5中已经过时(参见unit testing - RunUnitTests error after XCode 5 update) 这自然导致了我的问题:如果设置已经过时,我在每次构建后如何自动进行单元测试。

非常具体:

  • 我的工作区中有几个(超过10个)项目。
  • 当我按下Xcode 5中的RUN按钮(在UI的左上角)时,我希望在当前方案中为所有依赖项运行单元测试(假设当然已经修改了相关项目)。
  • 此外,如果任何测试失败,则构建和运行操作将失败。

这在XCode 4中有效;请参阅上面的链接,了解过去如何做到这一点'现在已经坏了。

这是一个移民问题。我不需要在XCode中进行单元测试的一般(可能是过时的)教程。

3 个答案:

答案 0 :(得分:1)

我可能会为您提供有用的链接:
http://meandmark.com/blog/2013/09/xcode-5-unit-testing-changes/
特别是部分:XCTest

  

这在XCode 4中有效;请参阅上面的链接,了解“旧方法”现在是如何破坏的。

你指出Xcode 5可能的解决方案,即使我不知道它是否是一个正确的答案。 也许你应该更近一点地指出你的问题......

<小时/> <小时/> 您是否正在使用项目的test scheme?您是否尝试过配置正确的预操作并检查了测试设置?

enter image description here

答案 1 :(得分:1)

虽然我真的希望有更精简和更好的整合,但我最接近修复上述内容的是:

  • 向包含我们应用程序的项目添加构建阶段(请记住,我们有一个包含多个项目的工作区,其中大多数项目都会生成我们应用程序所需的库)
  • 构建阶段从xcode(见下文)
  • 中调用“xcodebuild test”

要添加构建阶段,请打开我们正在添加构建阶段的目标,然后使用菜单项:

编辑&gt;添加构建阶段&gt;添加运行脚本构建阶段

调用xcodebuild的自定义脚本如下所示:

cd DIR
xcodebuild -workspace MY_WORKSPACE.xcworkspace -scheme MY_SCHEME -destination ‘platform=iOS Simulator,name=iPhone’ test
...

其中: DIR - 包含我的工作区的目录。
... - 为每个被测试的库重复命令调用。

(已添加some info on my blog

这远非完美,但由于缺乏更好的东西,它确实有效。 如果您有更好的解决方案,感谢发布。

答案 2 :(得分:0)

从项目导航器中选择项目以打开项目编辑器。选择项目编辑器左侧的项目或目标。单击编辑器顶部的“构建设置”按钮。 “构建后测试”构建设置位于“单元测试”集合中。然后将“构建后测试”构建设置设置为“是”。选择产品&gt; Build for&gt;构建测试以构建项目并运行测试。我从这个表格得到了类似问题的答案here

请参阅this tutorial了解自动化测试。