今まで経験したことのない奇妙な問題に直面しています。
単体テスト (OCUnit など) を実行するために cmd+U を実行すると、実際には main.m が呼び出され、appDelegate が新たに作成され、cmd+R を押したかのようにアプリが実行されますか?
この DataLayer の背後で CoreData を使用しているためだけに質問します。私はテストで DataLayer を正常にモックアウトしていますが、実際に CoreData を呼び出す getAll メソッドを実装すると、app/xcode はマネージド オブジェクト モデルを nil にすることはできないという例外をスローします。これは理解できますが、実際に DataLayer クラスを新しくするつもりはありません。mainviewcontroller の loadView メソッドに、DataLayer の getAll メソッドを呼び出すブレーク ポイントを設定しました。これはモック オブジェクトであるため、テストでは問題にならないはずですが、実際のインスタンスを呼び出しているようです。
私の質問に戻りますが、cmd+U を押すと、最初にアプリを実行してからテストを実行しますか?