2016-04-14 6 views
0

自分のアプリケーションのUIテストを開始しました。私はWWDC UI Testingチュートリアルを終了し、すべてのテストで、アプリケーション階層内の特定のViewControllerでテストを行う前に、アプリケーションを起動して設定する必要があることに気付きました。UIを行う方法アプリケーション内の任意のViewControllerを孤立してテストする

私たちはクラスのユニットテストを行うように孤立して自分のアプリケーションのすべてのViewControllerををテストしたいです。 Xcode 7で導入されたUI Testingで、ViewControllerをモックデータでレンダリングしてテストできることは可能ですか?

答えて

1

これはUIで可能ですか?私はViewControllerをモックデータでレンダリングしてテストできることをテストします。

これはデフォルトでは不可能ですが、これを達成するためにアプリケーションにインフラストラクチャを組み込むことができます。

1)ナビゲーション階層の深い可能性があるビューコントローラにアクセスし、2)スタブ(スタブがこの場合は正しい用語である)データを提供します。

XCUIApplicationは、launchArgumentslaunchEnvironmentのプロパティを公開しているため、開発者は直接アプリケーションコードにアクセスできないため、UIテストから追加の構成をアプリケーションに渡すことができます。あなたが開始する前に、あなたのアプリに設定またはコマンドを渡すと、それはあなたがテストしたい状態に自分自身を設定持っているそれらを活用することができ

たとえば、あなたは、アプリデリゲートに所定の位置にルーティングシステムを入れて、UIのテストで目的のビューコントローラのルートを渡すことができます。アプリがテストを開始するときにこの方法であなたが与えたルートを読み込み、ビューコントローラを直ちにロードします。

あなたは、ビューコントローラがそれで初期化されるように、必要なデータを渡すために同じ技術を活用することができます。

残念ながら、私はちょうど私がこのアイデアを自分自身を遊んでてきたが、実際にそれを実装するために設定していないが、ここで理論化しています。私はそのような設定を行い、それを十分に柔軟にすることは、実装するために多くの設定があるので、特定の努力を必要とすると思います。

関連する問題