基本 AppDelegate クラス内のビュー コントローラーで状態ベースのテストを行うための「ベスト プラクティス」/「テスト摩擦の少ない」方法を探しています。現在、以下は、クラスのメソッド内で何かが発生したときに、自分の UIViewController で (ocmock を使用して) スタブする簡単な方法を提供します。
-(FirstViewController *)getFirstViewController
{
if (self.viewController1)
{ return self.viewController1; }
self.viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
return self.viewController1;
}
私が持っている最初の質問 - これは、テスト用に独自のモック ビュー コントローラーをスタブ化/注入する有効な方法ですか? (うまく機能しているようですが、これがプロが今日の状態ベースのテストを行っている方法であるかどうかはわかりません)
私が持っている次の質問 - ビュー コントローラーの 1 つのコピーをこのようにメモリに保持することは有効ですか (アプリの存続期間中に一度だけゼロから作成するだけです)。
**注 - これを依存性注入しますが、私の init はすでにナビゲーション コントローラーとタブ バー コントローラーを注入するだけで十分に大きいため、悲しいことに、この大きなクラスのオプションではありません