Swift 2.0で自動UIテストを作成する際にリクエストを模擬する方法はありますか?私が知る限り、UIテストは他の機能とは独立している必要があります。レスポンスに応じてUIの動作をテストするために、サーバリクエストからのレスポンスを模擬する方法はありますか?たとえば、サーバーが停止している場合は、UIテストが実行されます。簡単な例として、ログインの場合は、パスワードが失敗した場合はモックが表示され、ログインが成功した場合は次のページが表示されます。Mock APIがXcode 7のSwift自動UIテストを依頼します
答えて
現在の実装では、UIテストではが直接ではありません。フレームワークがコードに直接持っている唯一のインターフェースは、launch arguments/environmentです。
このコンテキストでは、アプリが特定のキーまたは値を検索するように設定し、一部の機能を切り替えることができます。たとえば、MOCK_REQUESTS
キーが設定されている場合は、HTTPClient
の代わりにMockableHTTPClient
をネットワークレイヤーに挿入します。私はsetting the parametersについて書いていて、NSHipsterにはhow to read themという記事があります。
しかし、理想的ではありませんが、技術的には、あなたが探しているものをいくつかの足取りで達成することは可能です。
ここには私がまとめたtutorial on stubbing network data for UI Testingです。これは、これを実行して実行するために必要なすべてのステップを案内します。
何らかの理由でプロダクション環境にしようと思っているのであれば、Charles Proxyのようなサードパーティのソリューションの使用を検討することができます。
マップローカルツールを使用すると、特定のエンドポイントからのコールをマシン上のローカルファイルにルーティングできます。ローカルファイルに、返信したい応答を含むプレーンテキストを渡すことができます。あなたの例あたり:
あなたのログインは、あなたがルートコンピュータに保存されたファイルにそのエンドポイントを打つの呼び出しはすなわちmappedlocal.txt
できるマップローカルツールを使用してチャールズにエンドポイントyoursite.com/loginを打ちます
mappedlocal.txtは、次のテキスト
HTTP/1.1チャールズが実行されている場合は404が
を失敗して、あなたの応答が404エラーで帰ってくるこのエンドポイントをヒット含まれています。
チャールズでは「マップリモート」と呼ばれる別のオプションを使用して、モックサーバー全体を構築することもできます。モックサーバーは、呼び出しや応答を自由に処理できます。これはまさにあなたが探しているものではないかもしれませんが、他人を助けるかもしれないオプション、そして私は自分自身を使います。
- 1. UIの実行デバイスのxcode 7のテスト
- 2. スタックビューの自動制約違反、Swift 2、iOS 9.3、XCode 7
- 3. EPiServerでの自動UIテスト
- 4. Xcode 7 UIテストオーダー
- 5. Visual Studio自動UIテストがハングする
- 6. Xcode 7の自動UIテストでHTTPリクエストをスタブすることは可能ですか?
- 7. iPhone用XCodeテスト自動化
- 8. UIテスト+ postNotificationName + observer + Xcodeに到達しない7
- 9. Xcode 7の既存のプロジェクトにユニットテストとUIテストを追加
- 10. Xcode 7 UIターゲットロケールと地域設定をテストする
- 11. mock adwords api
- 12. Windows 7で自動テストが動作しない32ビット
- 13. Xcode UIテスト用オートメーションツール
- 14. UIテストXCode 7-サブビュー内の要素にアクセスできない
- 15. UIテストがXcode 7.3で動作しなくなった
- 16. Xcode UIテスト - tearDown後にswipeRight()が動作しない
- 17. MacでのSilverLightの自動UIテスト
- 18. Xcode 7では、SwiftがObjective-Cコードをオートコンプリートできません
- 19. Xcode 7魔法のレコードユニットのテストが失敗しました
- 20. CocoaPods Xcode 7のようなモジュールがありません。Swift 2.2
- 21. PythonがAPIのページ付けに引数/処理を依頼しています
- 22. XCode 7 UIテスト - 検索バーにテキストを入力できません
- 23. Xcode 7のUIオートメーションを使ったモックオブジェクト
- 24. Xcode UIテスト - タイムスタンプ付きイベントマッチングエラー
- 25. UIテストでSFSafariViewControllerを自動化する方法はありますか?
- 26. Xcode UIテストを使用したUIWebViewのテスト
- 27. Windows 7リボンUI Win32 APIコード
- 28. Xcode 7 Swift 2実行時にオブジェクトサイズが異なる
- 29. CFStringはSwift 2.0&XCODE 7のkUTTypeImageの文字列に変換します。
- 30. XcodeのUIテスト - 複数のUITableView
さらに適切なタグを追加しました。 – Liam
私は@JoeMasilottiが正しいと思います。しかし、私の生産コードでは、モックを含むことについて少し神経質になります。 –
テストコードからアプリケーションコードにデータを動的に注入するのに便利なSBTUITestTunnelをチェックすることができます。私の答えを見る[ここ](http://stackoverflow.com/questions/36768883/how-do-i-mock-network-requests-in-xcode-ui-tests-while-the-tests-are-running/36909859 #36909859) –