首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在仪器中运行SenTestingKit单元测试

在仪器中运行SenTestingKit单元测试
EN

Stack Overflow用户
提问于 2012-06-09 23:51:26
回答 2查看 2.6K关注 0票数 10

我正在开发一个数据库访问库,并尝试使用已经编写的单元测试来检查内存泄漏。

这些都是基于SenTestingKit的逻辑测试,在Xcode4.2中设置正常的方式。我可以使用Cmd-U很好地运行它们,但看不到从Instruments启动它们的方法,或者调用Instruments来检查它们的方法。

我怎么才能让它工作呢?我是否需要编写新的案例并将其构建到应用程序中?

(This question是关于泄漏检查的单元测试,但我认为是在SenTestingKit之前。)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-05 23:20:11

此答案从用于OS X的SenTest开始。如果您担心在工具下使用用于iOS的SenTest,请跳到下一节。

仪器中的OS X单元测试

我意识到这有点晚了,但我今天需要在逻辑测试上运行仪器,并让它在我的环境中工作,所以我做了以下工作:

仪器正在运行的

  1. 从文档应用程序中的目标下拉菜单中创建一个新的document.
  2. Choose目标选中右下角的“遍历包”选项,您可以在Xcode中挖掘/ package
  3. Navigate /Xcode并找到/Applications/Xcode.app/Contents/Developer/Tools/中的otest二进制文件,然后将其选中
  4. Add OBCJ_DISABLE_GC,并将其值设为YES作为环境变量(如果正在运行GC,则不要执行此操作)
  5. Add DYLD_FRAMEWORK_PATH并指向目录containing of your .octest package
  6. 添加与

your Working DYLD_LIBRARY_PATH to be the directory to your .xcodeproj lives

  1. For arguments相同值的目录,使用-SenTest Self和.octest包

的完整路径

一些环境变量和您的工作目录可能不是必需的,这取决于您是否需要加载其他框架,以及您的代码目录中是否有需要读取的测试文件。因此,如果这些步骤不适用于您,您可以省略它们。

完成后,您将能够保存文档并使用它来运行测试。

仪器中的iOS单元测试

在OP澄清了需求之后,我开始用一个基于iOS模拟器的项目来验证基本的指令。

对于iOS,您需要稍有不同的配置,因为您调试的是不同的可执行文件,并且需要不同的库。因此,DYLD_FRAMEWORK_PATH将包含.octest包目录的路径和模拟器框架的路径。后者类似于:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk/Developer/Library/Frameworks,这取决于您正在使用的模拟器的版本,下面我们将其称为SDKPATH

仪器正在运行的

  1. 从SDKPATH右下角的“document
  2. Check Packages”选项中的目标下拉菜单中创建一个新的document.
  3. Choose目标,以允许您在Xcode package
  4. Navigate中挖掘到/Applications/Xcode中并找到/Applications/Xcode/Developer/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk/Developer/usr/bin/中的otest二进制文件,然后选择它
  5. Add DYLD_LIBRARY_PATH并指向包含您的.octest包的目录
  6. Add DYLD_ROOT_PATH,该目录正好指向SDKPATH (上)

H143Add D44 with H245H146Add D47和指向包含.octest包和SDKPATH的目录(上面),在path list中用冒号(:)分隔它们,然后在您的iPhone模拟器主目录中添加

  1. CFFIXED_USER_HOME (~/Library/Application Support/iPhone Simulator虽然我在将其放在此处之前已经展开了它,但由于我不确定~ gets interpreted)
  2. Set your Working CFFIXED_USER_HOME to be the Directory to your iPhone lives~/Library/Application Support/iPhone Simulator .xcodeproj

参数,请使用-SenTest Self和您的.octest包的完整路径<代码>G259

票数 10
EN

Stack Overflow用户

发布于 2013-07-22 22:05:21

这是另一种简单得多的方法,可以更好地控制你的个人资料:

在setUp的开头放置一个断点,然后运行您想要运行的测试。当Xcode命中断点时,打开Instruments并在targets下搜索octest。然后,您可以简单地附加到该进程。切换到Xcode并在断点之后继续运行,仪器应该分析您想要运行的所有测试。

希望这能有所帮助。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10962388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档