Xcode-调试单元测试目标

问题描述 投票:16回答:5

我正在使用OCUnit为我的iPhone应用编写测试。有什么方法可以调试单元测试并有一个断点,以查看到底发生了什么?]

难以使用断点来编写单元测试非常可笑。

objective-c xcode unit-testing debugging breakpoints
5个回答
11
投票

[David Gelhar发布的link对Xcode 3是正确的。

对于Xcode 4,事情要简单得多。编辑当前方案,然后转到“测试”操作。单击底部的“ +”,然后添加包含要运行的测试的测试包。现在,当您选择产品->测试时,它将运行那些测试。任何活动的断点都会像您期望的那样命中。


12
投票

使用XCode 4.2,(通过设置项目时选中“包括单元测试”复选框来设置SenTestKit单元测试),产品->测试未达到我的断点,但产品->执行操作->测试没有构建似乎可以解决问题。希望这会有所帮助。


1
投票

这里是博客文章:Debugging Cocoa application unit tests,其中包含有关如何执行此操作的说明(至少对于XCode 3;不确定XCode 4)。


0
投票

XCode 4中需要注意的另一项是您尚未将要测试的类添加到单元测试目标以及主项目中。似乎没有必要,它会破坏您达到断点的能力。

运行时,提示将是调试日志中的警告消息。消息将如下所示:

“ XXX类在YYY和ZZZ中都实现。将使用两者之一。未定义的一个。”

一旦我从单元测试目标中删除了警告中指出的类,Xcode就开始触及断点。

您可以通过单击.M文件,然后在检查器窗口的“目标成员资格”下关闭其在单元测试目标中的成员资格,从目标中删除类。


0
投票

您可能还不小心禁用了Scheme-> Test-> Info中的“ Debugger:Debug Executable”选项。>

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.