Spring-boot-rest-controller-unit-test
スプリングブート-レストコントローラーユニットテスト
Spring Boot provides an easy way to write a Unit Test for Rest Controller file. With the help of SpringJUnit4ClassRunner and MockMvc, we can create a web application context to write Unit Test for Rest Controller file.
ユニットテストは src/test/java ディレクトリの下に記述し、テストを記述するクラスパスリソースは src/test/resources ディレクトリの下に配置する必要があります。
単体テストを作成するには、以下に示すように、ビルド構成ファイルにSpring Boot Starter Test依存関係を追加する必要があります。
Gradleユーザーは、build.gradleファイルに次の依存関係を追加できます。
テストケースを作成する前に、まずRESTful Webサービスを構築する必要があります。 RESTful Webサービスの構築の詳細については、このチュートリアルで与えられているものに関する章を参照してください。
RESTコントローラーの単体テストの作成
このセクションでは、RESTコントローラーの単体テストの作成方法を見てみましょう。
まず、MockMvcを使用してWebアプリケーションコンテキストを作成するために使用する抽象クラスファイルを作成し、mapToJson()およびmapFromJson()メソッドを定義してJavaオブジェクトをJSON文字列に変換し、JSON文字列をJavaオブジェクトに変換する必要があります。
次に、AbstractTestクラスを拡張するクラスファイルを記述し、GET、POST、PUT、DELETEなどの各メソッドの単体テストを記述します。
GET APIテストケースのコードを以下に示します。 このAPIは、製品のリストを表示するためのものです。
POST APIテストケースのコードを以下に示します。 このAPIは製品を作成するためのものです。
PUT APIテストケースのコードを以下に示します。 このAPIは、既存の製品を更新するためのものです。
Delete APIテストケースのコードを以下に示します。 このAPIは、既存の製品を削除します。
完全なコントローラテストクラスファイルは以下のとおりです-
あなたは、実行可能なJARファイルを作成し、以下に示すMavenまたはGradleコマンドを使用してSpring Bootアプリケーションを実行することができます-
Mavenの場合、以下に示すコマンドを使用できます-
これで、コンソールウィンドウにテスト結果を表示できます。
Gradleの場合、以下に示すようにコマンドを使用できます-
以下に示すように、コンソールウィンドウで残りの結果を確認できます。