我正在使用 Xcode 3.2.2 和内置的 OCUnit 测试工具。我遇到的一个问题是,每次我进行构建时,我的单元测试都会运行,即使构建失败。假设我在其中一个测试中犯了语法错误。测试编译失败,运行最后一次成功编译的单元测试。如果依赖目标之一无法构建,也会发生同样的事情 - 测试仍在运行。这显然不是我想要的。
如果构建失败,如何防止测试运行?如果这是不可能的,那么我宁愿让测试永远不会自动运行,这可能吗?抱歉,如果这很明显,我是 Xcode 菜鸟。我应该使用更好的单元测试框架吗?
我正在使用 Xcode 3.2.2 和内置的 OCUnit 测试工具。我遇到的一个问题是,每次我进行构建时,我的单元测试都会运行,即使构建失败。假设我在其中一个测试中犯了语法错误。测试编译失败,运行最后一次成功编译的单元测试。如果依赖目标之一无法构建,也会发生同样的事情 - 测试仍在运行。这显然不是我想要的。
如果构建失败,如何防止测试运行?如果这是不可能的,那么我宁愿让测试永远不会自动运行,这可能吗?抱歉,如果这很明显,我是 Xcode 菜鸟。我应该使用更好的单元测试框架吗?
答案是转储 OCUnit 并使用大约一百万倍的 GHUnit:http: //github.com/gabriel/gh-unit
您需要做的就是使运行单元测试的脚本依赖于已构建的测试包。去做这个:
在您的目标组中,展开您的单元测试包并获取有关运行脚本的信息。
在常规选项卡上单击输入文件的 + 按钮并输入:
$(BUILT_PRODUCTS_DIR)/$(EXECUTABLE_PATH)