2011-01-06 10 views
2

こんにちは、GHunitを使用したGUIテストで使用できるチュートリアルまたはドキュメントがあります。 と、サーバーとの対話の場合があります。私はいくつかのfalseと同様に右の入力値をサーバーに渡してテストケースを作成し、入力の基本についてサーバー応答をチェックしたい。私はメインプロジェクトでこの機能を持っています。どのようにサーバーインタラクションのためのテストケースを書くか考えてください。GHunitを使用したUITesting

答えて

3

ユニットテストフレームワークでの非同期動作のテストは、その時点で単体テストではなく統合テストを作成するため困難になります。これは、これらのコンポーネントをテストすることはできないが、単体テストではエンド・ツー・エンドでテストするべきではないということではありません。

UI要素の場合、作成されたことをテストできます。期待値が含まれているかどうかをテストできます。相互作用するときに正しい動作が発生することをテストできます(IBActionメソッドが呼び出され、コントローラは現在のナビゲーションコントローラにプッシュされます)、アニメーションのような非同期アクションや、単一のテストでコントローラの遷移を表示する必要はありません。

ネットワークリクエストでは、クラスが送信すると予想されるデータを送信することをテストできます。また、さまざまな種類のデータが返されたときにクラスが適切な処理を行うことを個別にテストできます。どちらの場合でも、実際にリモートサーバーに接続する代わりに、実際のネットワーク接続を模擬または仮想に置き換えることができます。さらに、同じテストで送信データと受信データの両方をテストする必要はありません。

テストでコードをテストする必要があります。UIKitでビューをアニメートできない、またはNSURLConnectionでデータを送受信できるためではありません。テストで実際にロジックをテストし、テストされたコードの外部依存関係を取り除きます。

GHUnitは、GHAsyncTestCaseを提供しています。これにより、特定のタイプの非同期動作を待つテストを書くことができます。

関連する問題