我目前使用GHUnit和OCMock来测试我的应用程序。我使用它们是因为我喜欢可以在实际设备上运行测试代码的事实。设计可测试性的iPhone/iPad应用程序
我的应用程序目前的设计方式是我有一些中央服务和对象通过应用程序委托上的属性可用。例如,我集中了一些可以通过[UIApplication sharedApplication].coreData
访问的核心数据功能。
我遇到的问题是,为了在设备或模拟器上运行单元测试,GHUnit使用它自己的应用程序委托,它没有这些属性。所以如果一个单元触发代码想要访问它们,它就会失败。
所以我在看应用程序的设计,并想知道是否应该重新设计这些核心设施的可用方式。你们如何设计你的应用程序?
我正在考虑的一件事是将此功能提取到单独的对象,以便我可以使用OCMock来模拟它以进行测试。
有什么想法?