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