これはUIで可能ですか?私はViewControllerをモックデータでレンダリングしてテストできることをテストします。
これはデフォルトでは不可能ですが、これを達成するためにアプリケーションにインフラストラクチャを組み込むことができます。
1)ナビゲーション階層の深い可能性があるビューコントローラにアクセスし、2)スタブ(スタブがこの場合は正しい用語である)データを提供します。
XCUIApplication
は、launchArguments
とlaunchEnvironment
のプロパティを公開しているため、開発者は直接アプリケーションコードにアクセスできないため、UIテストから追加の構成をアプリケーションに渡すことができます。あなたが開始する前に、あなたのアプリに設定またはコマンドを渡すと、それはあなたがテストしたい状態に自分自身を設定持っているそれらを活用することができ
。
たとえば、あなたは、アプリデリゲートに所定の位置にルーティングシステムを入れて、UIのテストで目的のビューコントローラのルートを渡すことができます。アプリがテストを開始するときにこの方法であなたが与えたルートを読み込み、ビューコントローラを直ちにロードします。
あなたは、ビューコントローラがそれで初期化されるように、必要なデータを渡すために同じ技術を活用することができます。
残念ながら、私はちょうど私がこのアイデアを自分自身を遊んでてきたが、実際にそれを実装するために設定していないが、ここで理論化しています。私はそのような設定を行い、それを十分に柔軟にすることは、実装するために多くの設定があるので、特定の努力を必要とすると思います。