我正在寻找一种“最佳实践”/“低测试摩擦”的方式来对我的基础 AppDelegate 类中的视图控制器进行基于状态的测试。目前,当在类的方法中发生某些事情时,下面提供了一种简单的方法来存根我自己的 UIViewController(使用 ocmock)。
-(FirstViewController *)getFirstViewController
{
if (self.viewController1)
{ return self.viewController1; }
self.viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
return self.viewController1;
}
我的第一个问题 - 这是一种有效的方法来存根/注入我自己的模拟视图控制器进行测试吗?(似乎工作得很好,但我不确定这是否是专业人士今天进行基于状态的测试的方式)
我的下一个问题 - 像这样在内存中保留 1 个视图控制器副本是否有效(在应用程序的整个生命周期内只从头开始创建一次)?
**注意-我会依赖注入它,但我的 init 已经足够大,只需要注入导航控制器和标签栏控制器,所以遗憾的是,这不是这个大类的选项