私のMockWebServerでは、私は2つの異なるディスパッチャーを使用しています。 1つのLocalResponseDispatcherは応答をローカルに追加し、通常のQueueDispatcherはいくつかのスタブ応答をエンキューします。私は2つの間で切り替えるのに問題があった。実際には、私は.setDispatcher()を使用しようとしているときに、Webサーバーの応答は、常に前の1つの応答。同じ問題がありますか?Android MockWebServerディスパッチャーの問題
2
A
答えて
0
私は同様の問題がありました。すべてのテストは別々に働いていましたが、複数のテストでは最初は自分の仕事をしました。私の問題は別の場所で嘘をついたことが分かった。あなたが@Before
メソッド mockWebServer.url()
で実行する場合、MockWebServerを使用するとき、あなたのAPIのためのポートはほとんどすべてのテストで異なることを覚えておいてください。 URLのポート番号が変更されます。 http://localhost:58919/ からhttp://localhost:52915/
私の問題は、私のAPIをURLで一度だけインスタンス化したことでした。アプリの作業中にAPIのURLが変更されないため、通常は良いアイデアです。解決策は、TestApplication extends Application
にTestApplication extends Application
(適切なカスタムjUnitランナーを使用)を指定してAPIを最後に作成することです。私の例では、Retrofitを再インスタンス化し、APIテストが魅力的な働きをし始めました。
関連する問題
- 1. は、Android(Wiremock、MockWebServerなど)
- 2. Androidの問題
- 3. Androidの問題
- 4. Androidレンダリングの問題
- 5. Android AlarmManagerの問題
- 6. Android - ScrollViewの問題
- 7. Androidレイアウトの問題
- 8. SharedPreferences Androidの問題
- 9. Androidキャンバスアップデートの問題
- 10. Androidオーディオの問題
- 11. ランチャーアクティビティの問題Android
- 12. Androidユーザーインターフェイスの問題
- 13. Android onBackPressedの問題
- 14. Androidカスタムフォントレンダリングの問題
- 15. Android ExpandableListActivityの問題
- 16. Androidカスタムローレイアウトの問題
- 17. Androidタブの問題
- 18. Androidレイアウトの問題
- 19. Androidビットマップフレームレートの問題
- 20. Androidカスタムコントロールネームスペースの問題
- 21. Action_Move Androidの問題
- 22. Androidドライバの問題
- 23. Androidデプロイメントの問題
- 24. Androidのダウングレード問題
- 25. Androidアプリの問題
- 26. formatNumber(Android)の問題
- 27. Androidのアクティビティ問題
- 28. Androidスクリーンの問題
- 29. Androidバックグラウンドサービスの問題
- 30. Android ndkの問題
また、mockwebserverを使用するときにokhttpキャッシュやその他のキャッシュメカニズムを使用しないでください。私の場合はこれが問題でした。 – lupsyn
@lupsynあなたの応答としてそれを公開してください:) – Przemo