有关于cocoa触摸自动UItesting的很好的教程吗?

通常我发现,几乎所有我最重要的iPhone开发testing用例都围绕着UItesting,而不是业务逻辑或数据testing。 我不太熟悉XCode环境中的自动化UItesting。 有人能指点我一个很好的教程或书吗?

UPDATE
这个问题是几年前写的,从那以后UItesting已经走过了很长的一段路。 使用UI自动化仍然是一个select,但是KIF框架现在是一个更好的functiontesting解决scheme,IMO。

从KIF的github页面:

KIF代表Keep It Functional,是一个iOS集成testing框架。 通过利用操作系统为视觉障碍者提供的可访问性属性,可以轻松实现iOS应用程序的自动化。

KIF使用标准的XCTesttesting目标来构build和执行testing。 testing在主线程中同步进行(运行运行循环以强制时间stream逝),从而允许更复杂的逻辑和组合。 这也使得KIF能够利用Xcode 5 Test Navigator,命令行构build工具和Bottesting报告。

您最好的select是使用iOS 4.0推出的UI自动化工具。 这可以脚本来testing你的用户界面的许多方面。

Apple在WWDC 2010会议的video306 – “使用仪器自动执行用户界面testing”中提供了对此工具的详细介绍。 我演示了如何设置脚本并在video中testingiTunes U上的高级iOS开发课程的“testing”会话。 在这里可以find关于该类的UI自动化的笔记,包括示例脚本。

此外,你可能想看看詹姆斯·特纳的文章“ 如何使用UIAutomation来创buildiPhone UItesting ”和Alex Vollmer的“ 使用UIAutomation ”。

你真的想要testing什么? 我同意testing视图交互是重要的,但是我发现通常我可以构造一个testing视图或视图的单元或集成testing,并且它是validation这种行为的控制器,而不用通过UI驱动整个应用程序。

例如http://blog.carbonfive.com/2010/03/10/testing-view-controllers/有testing的例子,testing的UIKit视图绑定到IBActions或具有适当的委托,并且控制器响应这些操作或适当地委托消息。 没有必要实际驱动UIButtonUITableView因为我愿意相信这些类实际上工作,而只需要testing我的使用和它们的configuration。

对于自定义视图组件,您可以在testing中直接发送UIResponder消息,并声明它们的行为与预期相同,而无需驱动整个UI。

你能提供一个你想testing的行为的例子吗?