Col*_*ett 6 iphone cocoa-touch unit-testing uiviewcontroller
我是测试的忠实信徒,但不是一个非常优秀的实践者.我已经很好地覆盖了我的模型对象并以TDD风格编程.我实际上非常喜欢它,我很乐意将它扩展到我的控制器层,特别是我的UIViewController子类.
不幸的是,许多UIKit类在独立测试中不起作用.但是,我对仅在设备上运行我的依赖测试的限制感到不满意.在每次构建之前运行所有单元测试对我来说非常重要,在我看来,它可能是值得单元测试(而不是其他类型的测试)控制器代码.
我的问题很简单:如何UIViewController以每次构建之前运行测试的方式测试s?我知道这个问题有几个不同的解决方案,但是对于每个问题的各种好处并不了解很多.
所以我对目前的情况并不满意,丹尼尔和埃德的回答都激励我进一步改进。我决定亲自处理此事。
我最终编写的是一个小型的 Cocoa Touch 应用程序,它在 -applicationDidFinishLaunching 中扫描类层次结构以查找任何 SenTestCase 子类并运行它们。与 GoogleToolboxForMac 的单元测试不同,我尝试尽可能多地使用内置的 SenTesting 机制,结果并没有真正生成那么多代码。除了验证 UILabel 分配是否不会使测试设备崩溃之外,我没有进行太多测试(如果您尝试,otest 实际上会崩溃),但它应该可以工作。