0

私はすべてのHTTP要求をインターセプトするテストシステムを作成する必要がありますいくつかの研究の後、私はHttpUrlConnectionを模倣する方法を示すthis記事を見つけましたが、私は適応しなければなりません、私のテストの一部である要求のために、他の人はいつものようにインターネットを経由しなければならない、私の試みは、URLに依存し、明らかに動作しなかった別のHttpUrlConnectionオブジェクトを返すことでした。Androidのテスト。 (一部)

public class MockURLStreamHandler extends URLStreamHandler implements URLStreamHandlerFactory 
{ 
    .............................. 
    // *** URLStreamHandler 

    @Override 
    protected URLConnection openConnection(URL u) throws IOException { 

     mConnection = new MockHttpURLConnection(u); 
     if(u.toString().equals(myTestUrl)) 
     { 
      return mConnection; 
     } 
     else 
     { 
      //this doesn't work 
      return new HttpUrlConnection(u){..} 
     } 
    } 
    ............................... 
} 

私が探しているものの後に?

ありがとうございます。

+0

Mockitoを使用したことはありますか? –

答えて

0

は、HTTPとHTTPSの呼び出しを行うときにアプリが正しいこと ないことをテストするためにこのライブラリは、それが容易になりますMockWebServer

を見てみましょう。返す応答を と指定し、要求が と期待されていることを確認できます。

完全なHTTPスタックを実行するので、 すべてをテストしていると確信できます。あなたは実際のWebサーバーからの&のHTTPレスポンスをコピーして、代表的なテストケースを作成することもできます。または をテストし、500 エラーや応答の遅いような厄介な再現状況でコードが存続することを確認してください。

関連する問題