使用GHunit进行UITest

时间:2011-01-06 05:22:14

标签: iphone cocoa-touch ipad automated-tests

嗨是否有任何可用于使用GHunit进行GUI测试的教程或文档。 在一种情况下用于服务器交互。我想通过向服务器传递一些错误和正确的输入值来编写测试用例,然后在输入的基础上检查服务器响应。我在主项目中有这个功能。所以任何想法如何编写服务器交互的测试用例

1 个答案:

答案 0 :(得分:3)

在单元测试框架中测试异步行为将很困难,因为此时您正在编写集成测试而不是单元测试。这并不是说这些组件无法测试,而是单元测试不应该尝试端到端测试。

对于UI元素,您可以测试它们是否已创建,您可以测试它们是否包含您期望的值,您可以测试它与它们交互时发生的正确操作(即调用IBAction方法,预期的视图控制器被推送到当前导航控制器上)但您不需要在单个测试中逐步执行动画或视图控制器转换等异步操作。

对于网络请求,您可以测试一个类发送您希望它发送的数据,并且您可以单独测试该类在返回不同类型的数据时采取适当的操作。在这两种情况下,您都可以使用模拟或虚假替换实际的网络连接,而不是实际连接到远程服务器。此外,您不需要在同一测试中测试发送和接收数据。

您的测试应该是测试您的代码,而不是UIKit可以动画视图或者NSURLConnection可以发送和接收数据,因此设计测试以实际测试您的逻辑并删除测试代码的外部依赖项。

那说GHUnit确实提供了GHAsyncTestCase,它允许你编写等待某些类型的异步行为的测试。