加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – 如何在Xcode 3中调试单元测试?

发布时间:2020-12-14 17:53:01 所属栏目:百科 来源:网络整理
导读:我跟着Apple的 instructions在我的项目中设置了单元测试.我按照指示使它们依赖,所以测试运行我的主项目的每个构建.这是有效的,当我的测试通过时,应用程序运行;当他们不这样做时,我会在失败的单元测试中遇到构建错误. 但是,我希望能够在测试失败时逐步执行我
我跟着Apple的 instructions在我的项目中设置了单元测试.我按照指示使它们依赖,所以测试运行我的主项目的每个构建.这是有效的,当我的测试通过时,应用程序运行;当他们不这样做时,我会在失败的单元测试中遇到构建错误.

但是,我希望能够在测试失败时逐步执行我的应用程序代码,但无法正确配置Xcode(3.2.5).该项目是一个Mac项目,而不是iOS.

我尝试了指令here和here,但执行从未在我设置的断点处停止,无论是在单元测试代码中还是在我的应用程序代码中.在遵循第一组指令后,我设置的断点变为黄色并带有蓝色轮廓,我也不知道这意味着什么.我需要做什么才能完成测试?

更新

我发现另一个页面试图通过向我的主可执行文件添加参数和环境变量来解决这个问题(here),但同样,这些并没有导致执行停止在我的断点处.我还注意到我的测试(大量)日志语句也没有显示在我的调试器控制台中.

我还发现黄色断点意味着在运行时无法找到的代码.这些都在我的测试用例类中,所以这似乎肯定解释了为什么那些没有解雇.

解决方法

我通常使用Xcode 3.2调试我的OCTest测试没有问题,包括在断点处停止.

基本的想法是告诉gdb以你的bundle作为参数启动otest.您将通过将/ Developer / Tools / otest作为自定义可执行文件添加到Xcode项目中,然后将OCTest包名称作为唯一参数(在“项目”菜单中选择“编辑活动可执行文件”,并在第二个选项卡中添加在顶部框中使用Foo.octest来调试Foo测试).

现在,如果您点击调试按钮,它将立即开始调试您的测试包,并将停止在声明的断点处(如果您点击构建和调试,如果测试未通过则可能无法启动).另请注意,您可能必须将环境变量设置为YES以禁用垃圾回收(在相同“参数”选项卡的底部框中),如果需要,otest将准确告诉您.

如果您执行了上述所有操作并仍无法执行测试代码,则可能是因为它是在关闭调试符号生成的情况下编译的 – 请检查调试版本设置,但很可能是因为测试代码根本没有重新编译.我说很有可能,因为你的日志没有显示在控制台中,NSLog应该在Xcode控制台中写入.手动清理构建和bin文件夹,有时当您更改路径或名称时,最终会加载过时的代码.您可能还想检查文件是否未跳出测试目标(同一个非日志文件中的失败测试?).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读