在Xcode 4中为产品启用“测试”选项的原因并不完全清楚。当您使用关联的.octest
目标创建新项目时,它会启用。
是否有标志或选项将特定目标作为另一个目标的测试?参考资料似乎只是谈论在工作时进行测试,而不是让他们在第一时间工作。
我要做的是使用非Objective-C测试框架(在本例中为Catch)来测试跨平台C ++应用程序。具有相关基础库的Objective-C在目标上不可用。
答案 0 :(得分:1)
如果您需要将第三方测试框架添加到Xcode项目中,您可以通过替换与运行默认情况下otest
相关联的“构建阶段”来完成此操作。
将编译第三方测试套件的目标添加到可执行表单中。这与.octest目标无关。
将此目标添加为“Build Phases”,“Target Dependencies”下的主“.octest”目标的依赖项,以确保根据需要编译测试。
将“运行脚本”部分替换为执行测试所需的任何内容。通常它看起来像:
DYLD_LIBRARY_PATH=$TARGET_BUILD_DIR "${TARGET_BUILD_DIR}/myCustomTests"
这假定有一个名为myCustomTests
的可执行文件由自定义测试目标生成,并且还将DYLD_LIBRARY_PATH
配置为包含构建目录,以便正确加载任何自定义库。