是否有人成功通过UIGestureRecognizer的单元测试子类?如果是这样,你使用或推荐什么方法?如果是的话,你如何去综合事件?如何对UIGestureRecognizer子类进行单元测试?
4
A
回答
0
它不完全是单元测试,但如何测试用户界面的最佳方法是使用自动化。 基本上你写了一个JavaScript,然后在自动化仪器下运行它。
它没有记录得很好,几乎没有教程。准备沮丧。
0
我使用Cedar并计划通过模拟NSTouch对象,将它们捆绑为一个集合,并对各种UITouchGestureSubclass点进行适当调用来测试自定义UIGestureRecognizers。这个单元测试自定义类。父类的行为我通过调用在UIGR子类上注册的操作方法来测试。
0
我还没有看到一个很好的单元测试解决方案,但我很快就需要找到一个,所以我很乐意看到或有更好的答案。
由于@tooluser建议您可以为UITouch对象提供“很好”的模拟。由于没有UITouch的公共构造函数提供“真实”的UITouch实例是非常棘手的,并且会依赖于私有API调用。不幸的是,由于这些触摸模拟需要通过框架代码,你不能看到或控制,你必须希望你的模拟实际上匹配他们加倍的UITouches的所有预期行为(包括我们无法看到的任何私人行为)。这让我紧张。
或者,你可以按照@ Sulthan的解决方案,并通过UI驱动集成测试来测试你的手势识别器。这是我迄今使用的方法。使用UIAutomation或像Frank或KIF这样的第三方测试框架来生成与视图的交互,并声明手势识别器如预期的那样触发。这至少可以让你单独测试识别器(即使不在真正的单元测试中)。
我通常想要进行一些集成测试来验证自定义视图中多个识别器之间的交互行为是否正确,因此我不觉得这种方法太糟糕了,但真的能够测试驱动器的开发在单元级别的识别器(如果没有其他的话,测试执行时间)。
相关问题
- 1. 如何对wxPython进行单元测试?
- 2. 如何对IDataErrorInfo进行单元测试?
- 3. 如何对rxjs5进行单元测试?
- 4. 如何对子进程进行单元测试.CalledProcessError
- 5. 如何对电子表格解析器进行单元测试?
- 6. 如何对电子邮件发送进行单元测试?
- 7. 如何对电子邮件客户端进行单元测试
- 8. 如何对电子邮件规则进行单元测试
- 9. 如何对与系统(或Android)类进行交互的单元测试方法进行单元测试
- 10. 如何在PHP中对PCNTL forker类进行单元测试?
- 11. 如何对文件管理器类进行单元测试?
- 12. 如何对读取xml文件的类进行单元测试?
- 13. 如何对抽象类进行单元测试
- 14. 如何对通用类进行单元测试
- 15. 如何使用System.Windows.Threading.Dispatcher对单元进行单元测试
- 16. 我如何进行单元测试openWithCompletionHandler
- 17. 如何进行单元测试出错
- 18. OpenGL如何进行单元测试?
- 19. 如何进行单元测试
- 20. Grails - 如何进行单元测试addTo *
- 21. Hadoop:如何进行单元测试FileSystem
- 22. IRepository如何进行单元测试?
- 23. 如何进行单元测试?
- 24. 如何进行单元测试配置
- 25. 对Bamboo进行Silverlight单元测试
- 26. 如何对二进制方法进行单元测试?
- 27. Ng-click - 如何对行为进行单元测试
- 28. 如何对单元测试Xamarin.Forms行为
- 29. 如何在没有配对getter的类上对setter进行单元测试?
- 30. 用鼻子进行单元测试:在编译时测试?