通常、iOSユニットテストでは、新しいオブジェクトを作成し、テストしたいメソッドを呼び出して、結果を検証します。これはスタンドアロンの手順です。テストケースは常にappインスタンスで実行を開始しますが、そのインスタンスには直接アクセスしません。KIFやEarlGreyのようなフレームワークは、実行中のアプリケーションにどのようにアクセスしますか?
しかし、KIFやEarlGreyのようなフレームワークでは、実行中のアプリケーションインスタンスにアクセシビリティラベルを付けてUI要素にアクセスすることで、機能テストを書くことができます。私はそれがどのように実装されているのだろうかと思います。テストの開始時に、コンテキストまたはルートビューコントローラオブジェクトのようなものはありません。フレームワークはプレゼンテーションビューコントローラを「どこからも」見つけ出しません。
ありがとうございます! iOSの単体テストは、実行中のアプリケーションのモジュールに似ており、アプリケーションの他の部分と同様にアプリケーションインスタンスにアクセスできることが判明しました。 – Wizard