有人成功地调试iPhone的单元测试吗?

8
我在这里ADC页面上找到了有关如何在Cocoa中调试单元测试的示例。但是,我无法为iPhone应用程序目标设置调试。我可以运行测试并在构建期间运行它们,但我需要调试测试以解决一些更复杂的故障。
5个回答

7

您可以考虑将测试迁移到GHUnit,在此处它们在正常应用程序目标中运行,因此调试很简单。


我刚试用了它,现在我的生活变得简单多了。 - Pete
在[Xcode 4中,您可以使用SenTestingKit/OCUnit(随Xcode一起提供的单元测试框架)在单元测试中设置断点。 - ma11hew28

6

可以通过为项目设置单独的可执行文件来完成此操作,该可执行文件使用otest工具运行单元测试,在为可执行文件设置一堆相关环境变量后进行。我已经使用这种方法成功地调试了SenTestKit逻辑单元测试。

我发现以下链接很有帮助:

http://www.grokkingcocoa.com/how_to_debug_iphone_unit_te.html(还包含帮助修复设置项目时遇到的常见错误)。

http://cocoawithlove.com/2009/12/sample-iphone-application-with-complete.html(涵盖逻辑测试和应用程序测试)。

http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man1/otest.1.html(otest XCode工具的手册页面)。


2
NSLog消息会显示在Console.app中,这将为您提供一个起点。

1
在Xcode 4中,您可以在单元测试中设置断点。
  1. 创建一个包含单元测试的新项目。
  2. 在失败的单元测试中放置一个断点。
  3. 按Command-U进行测试。

0
如果你使用的是Google Toolbox for iPhone单元测试,那么如果你选择Build & Go而不是仅仅Build,那么你就可以在单元测试中设置断点并进行传统的调试。但如果你使用其他方式进行单元测试,具体过程可能会有所不同。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接