私はJavaユニットテストの初心者です。私が直面している問題は、サーバーのAPIにリクエストを送信して2つのメソッドをテストするためのJUnitテストを開発する必要があることです:addUser
とdeleteUser
。ユーザーをサーバーに追加/サーバーから削除したい場合は、サーバーから認証トークンを取得する必要がありますが、サーバー側の問題のため、現在はt有効なトークンを取得します。つまり、サーバーがユニットテストからリクエストを受信した場合に、ユーザーの追加/削除操作のステータスを示すJSONデータで応答するというサーバーの動作を模倣することです。
私はJUnitがまったく新しいので。この操作を実装する方法がわかりません。だから私の質問は、モックを適用するおそらく最も簡単な方法は何ですか?
HttpResponse httpResponse = mock(HttpResponse.class);
これを見てください: Mockitoを使用してApache HTTPClientをモックする
単体テストでtest-http-serverの起動をシミュレートできます。それを行うためのいくつかのフレームワークがあります。たとえば、 Mockserver および Wiremock です。
GoogleからのHTTPユニットテスト を使用して実行できます。
単純なHTTP応答を生成するには、次のコードを使用できます。
HttpTransport transport = new MockHttpTransport();
HttpRequest request = transport.createRequestFactory().buildGetRequest(HttpTesting.SIMPLE_GENERIC_URL);
HttpResponse response = request.execute();
MockHttpTransportクラスの実装をオーバーライドして、テストをカスタマイズすることもできます。
詳細は here このリポジトリを確認してください。それはあなたに適していると思います。