[解決済み] スクエア後付サーバーのテスト用モック
2022-12-08 15:41:15
質問
を使用する際に、テスト用のサーバをモック化する最も良い方法は何でしょうか? square retrofit フレームワーク .
可能性のある方法
-
新しいレトロフィットを作成する クライアント を作成し、 RestAdapter.Builder().setClient() で設定します。これは、Requestオブジェクトをパースして、Responseオブジェクトとしてjsonを返すというものです。
-
このアノテーションされたインターフェースをモッククラスとして実装し、 RestAdapter.create() で提供されるバージョンの代わりにそれを使用します (wont test gson serialisation)。
-
?
理想的には、モックされたサーバーがjsonレスポンスを提供し、同時にgsonシリアライズをテストできるようにしたいです。
どんな例でも大いに感謝されます。
どのように解決するのですか?
次のように方法1を試すことにしました。
public class MockClient implements Client {
@Override
public Response execute(Request request) throws IOException {
Uri uri = Uri.parse(request.getUrl());
Log.d("MOCK SERVER", "fetching uri: " + uri.toString());
String responseString = "";
if(uri.getPath().equals("/path/of/interest")) {
responseString = "JSON STRING HERE";
} else {
responseString = "OTHER JSON RESPONSE STRING";
}
return new Response(request.getUrl(), 200, "nothing", Collections.EMPTY_LIST, new TypedByteArray("application/json", responseString.getBytes()));
}
}
で使っていること。
RestAdapter.Builder builder = new RestAdapter.Builder();
builder.setClient(new MockClient());
これはうまく動作し、実際のサーバーに問い合わせることなくjson文字列をテストすることができます!
関連
-
[解決済み] モックとスタブの違いは何ですか?
-
[解決済み] Mockitoでvoidメソッドをモックする方法
-
[解決済み] データベース駆動型アプリケーションのユニットテストに最適な戦略とは?
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
-
[解決済み] AndroidにおけるViewPager2の適切な実装
-
[解決済み] アンドロイドアプリのユーザーデータを消去する
-
[解決済み] 文字サイズとアンドロイドの画面サイズの違い
-
[解決済み] 非ActivityクラスでContextを取得する [重複].
-
[解決済み] Androidの環境設定。ユーザーが環境設定画面を使用していない場合、デフォルト値を読み込むにはどうすればよいですか?
-
[解決済み] アンドロイドボタンセレクター
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Android Webview - キャッシュを完全に削除する
-
[解決済み] Eclipseでのandroid:configChangesでのAdmobエラー
-
[解決済み] これはどういうことですか?失敗 [INSTALL_FAILED_CONTAINER_ERROR]?
-
[解決済み] Androidのadb logcatでTAG名で特定のメッセージを除外する方法は?
-
[解決済み] onCreate(Bundle savedInstanceState)とは?
-
[解決済み] Android: ランドスケープモード用の代替レイアウト xml
-
[解決済み] アンドロイドでシェイクを検出するには?
-
[解決済み] EditTextをReadOnlyにする
-
[解決済み] Android: xml リソースからの整数値
-
[解決済み] HttpURLConnectionを使ったPOSTによるファイル送信