如何在每次构建时自动执行单元测试?
我尝试将单元测试目标添加到项目目标作为依赖项,但似乎没有运行实际测试。
答案 0 :(得分:8)
将“构建后测试”构建设置设置为“是”。选择产品> Build for>构建测试以构建项目并运行测试。
Xcode 5更新
Xcode 5不支持Test After Build构建设置。我不知道如何在Xcode 5中自动运行每个构建的测试。从OS X菜单栏中选择Product>测试或按Command + u在Xcode 5中运行单元测试。
答案 1 :(得分:3)
建立目标之间的关系:
然后运行测试,选择产品>测试,或简单地从键盘⌘U。这将:
答案 2 :(得分:3)
以下是我必须做的让XCode 4在构建时自动运行单元测试。
答案 3 :(得分:1)
我以为我会给出对我有用的步骤的高级解释。 (OS X 10.7.4,Xcode 4.3.3)如果你不熟悉构建阶段和方案之类的东西,这里有来自Apple的优秀资源:http://developer.apple.com/library/ios/#documentation/ToolsLanguages/Conceptual/Xcode4UserGuide/Building/Building.html
对于新项目,请确保在输入新项目名称的页面上选中“包含单元测试”复选框。单击Project Navigator中的项目图标以查看自动创建的两个目标。它们将被称为“MyCocoaApp”和“MyCocoaAppTests”。选择MyCocoaAppTests目标(不是MyCocoaApp目标!),然后从视图顶部的选项中选择“Build Settings”。在视图顶部附近的搜索栏中输入“构建后测试”。您应该看到“Test After Build”的单个设置,默认设置为NO。单击NO设置并将其更改为YES。更进一步。为该项目制定计划。 (产品菜单 - >编辑方案...)在左侧的列中选择“构建”。您应该看到右侧的两个目标和一些复选框。在“MyCocoaAppTests”行上,选中“运行”复选框并单击“确定”。你完成了。键入Command-B。您的应用程序将构建,单元测试将构建,单元测试将运行并在默认情况下出现错误时失败。
如果必须将单元测试添加到现有项目中,则需要更多参与。首先,请按照Apple的这些说明进行操作:https://developer.apple.com/library/mac/#documentation/developertools/Conceptual/UnitTesting/02-Setting_Up_Unit_Tests_in_a_Project/setting_up.html#//apple_ref/doc/uid/TP40002143-CH3-SW1
如果您没有错过任何步骤,您现在应该设置选择时运行的单元测试(产品菜单 - >测试)。现在,执行上述两个步骤:1)为MyCocoaAppTest目标设置“Test After Build”设置为YES; 2)在应用程序的Scheme的Build部分中选中MyCocoaAppTest目标的“Run”复选框。最后一步:您必须向MyCocoaAppTest目标添加一个新的“运行脚本”构建阶段(而不是MyCocoaApp构建阶段!)。选择测试目标,单击“Build Phases”,单击右下角的“Add Build Phase”图标,选择“Add Run Script”。 “运行脚本”部分将在其他构建阶段下方打开。脚本字段中包含以下文本:“键入脚本或从工作区拖动脚本文件”。在该字段中,输入:“$ {SYSTEM_DEVELOPER_DIR} / Tools / RunUnitTests”。 (包括引号。)
就是这样。命中-B。你的应用应该建立。您的测试应该构建然后运行。祝好运。呼。