这些是基于SenTestingKit的逻辑测试,在Xcode 4.2中设置了正常的方式.我可以使用Cmd-U运行它们,但是没有看到从仪器启动它们的方法,或者调用仪器来检查它们.
我该怎么做这个工作?我需要编写新的案例并将其构建到应用程序中吗?
(This question是关于泄漏检查单元测试,但我认为是SenTestingKit.)
解决方法
OS X单元测试仪器
我意识到这是一个晚了,但是我需要在今天的逻辑测试上运行仪器,并为我的环境工作,所以这里是我做的:
>随着仪器的运行,创建一个新的文档.
>从文档中的目标下拉菜单中选择目标
>检查右下角的“Traverse Packages”选项,让您可以挖掘Xcode包中的内容
>浏览/ Applications / Xcode并在/Applications/Xcode.app/Contents/Developer/Tools/中找到otest二进制文件,然后选择它
>将值为YES的OBCJ_DISABLE_GC添加为环境变量(如果您正在运行GC,请不要这样做)
>添加DYLD_FRAMEWORK_PATH,并指向包含.octest包的目录
>添加DYLD_LIBRARY_PATH与DYLD_FRAMEWORK_PATH相同的值
>将您的工作目录设置为.xcodeproj所在的目录
>对于参数,使用-SenTest Self和.octest包的完整路径
一些环境变量和您的工作目录可能不是必需的,具体取决于是否需要加载其他框架以及是否在代码目录中需要读取的测试文件.所以,如果不适用于您,可以省略这些步骤.
完成后,您可以保存文档并使用它来运行测试.
iOS单元测试仪器
在OP澄清了要求之后,我开始使用基于iOS模拟器的项目来验证这一点的基本说明.
对于iOS,您需要一个有些不同的配置,因为您正在调试其他可执行文件,您将需要不同的库.因此,DYLD_FRAMEWORK_PATH将包含您的.octest包的目录以及Simulator框架的路径.后者将是这样的:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk/Developer/Library/Frameworks
取决于您使用的是哪个版本的模拟器,我们将在下面引用它作为SDKPATH
>随着仪器的运行,创建一个新的文档.>从文档中的目标下拉菜单中选择目标>检查右下角的“Traverse Packages”选项,让您可以挖掘Xcode包中的内容浏览/应用程序/ Xcode并在/Applications/Xcode/Developer/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk/Developer/usr/bin/中找到otest二进制文件,然后选择它>添加DYLD_LIBRARY_PATH,并指向包含.octest包的目录>添加DYLD_ROOT_PATH指向的只是在SDKPATH(上)>使用SDKPATH(上图)添加IPHONE_SIMULATOR_ROOT>添加DYLD_FRAMEWORK_PATH,并指向包含.octest包和SDKPATH(上面)的目录,并将其与路径列表中的冒号(:)分隔开>添加CFFIXED_USER_HOME与你的iPhone模拟器家庭(〜/库/应用程序支持/ iPhone模拟器,虽然我把它扩展之前放在这里,因为我不知道〜被解释)>将您的工作目录设置为.xcodeproj所在的目录>对于参数,使用-SenTest Self和.octest包的完整路径